Я использую Safari версии 11.1 с последней версией транспортира.
Я пробовал это на Saucelab, и локально на моей машине я получаю тот же результат.
browser.get
работает - страница загружается .. и .. вот и все. ничего больше.
Я пытался $('body').getText...
или $('button').click()
.. сеанс кажется устаревшим.
Я прочитал о safaridriver
и выполнил команду --enable
на моей машине - ничего.
В соусе я могу использовать Safari версии 9.0 (до safaridriver), и это вроде как работает (пока я не доберусь до iframe - но я понимаю, что это известная проблема).
Если я пытаюсь использовать что-то более новое (safari 10/11/12), я получаю то же поведение, что и локально - сессия кажется устаревшей после загрузки. Я предполагаю, что соусник настроен правильно и должен просто работать.
Я много читал в Интернете, проблема в том, что слишком много проблем / решений, которые нужно прочесать, и я пока не нашел подходящей темы.
как я могу заставить сафари + транспортир (то есть селен на nodejs) работать локально и на соусе?
Я написал код для воспроизведения:
// the test
describe('something', function () {
it('should exemplify a working safari on protractor', function () {
console.log('getting something');
browser.get('/');
browser.sleep(0).then(() => {
console.log('page should have loaded'); // you won't see it due to the bug
})
$('button').click();
browser.sleep(0).then(() => {
console.log('if you see this comment, it worked!');
})
});
})
// the configuration
exports.config = {
baseUrl: 'https://docs.angularjs.org/guide/unit-testing', // any angular web app would do
allScriptsTimeout: 30000,
getPageTimeout: 30000,
capabilities: {
browserName: 'safari'
},
specs: 'tests/*'
}
// my package.json
{
"name": "safari-protractor",
"version": "0.0.0",
"dependencies": {
"protractor": "^5.4.1"
}
}