Size: a a a

2020 April 13

AP

Alexander Popov in JS for testing
Herman
Доброе утро, комрады!
Есть вопрос к умельцам протрактора. У нас на проектике часть юая переезжает на реакт, и решили попробовать завести наши тесты с waitForAngularEnabled(false) по дефолту.
При инициализации конфига в onPrepare хуке выключаю синхронизацию, но при запуске теста она опять включена (проверяю вызвав waitForAngularEnabled без параметра). Гуглёж не помогает, а официальная дока протрактора рекомендует выключать ангуляр синхронизацию уже в самом спеке/пейджобжекте.
Мб кто-то сталкивался с этой проблемой раньше? Спасибо :)
а браузер перед каждым тестом рестартится?
источник

H

Herman in JS for testing
Да
источник

AP

Alexander Popov in JS for testing
Herman
Да
надо перед каждым разом выключать
источник

IY

Igor Yaroslavtsev in JS for testing
Herman
Доброе утро, комрады!
Есть вопрос к умельцам протрактора. У нас на проектике часть юая переезжает на реакт, и решили попробовать завести наши тесты с waitForAngularEnabled(false) по дефолту.
При инициализации конфига в onPrepare хуке выключаю синхронизацию, но при запуске теста она опять включена (проверяю вызвав waitForAngularEnabled без параметра). Гуглёж не помогает, а официальная дока протрактора рекомендует выключать ангуляр синхронизацию уже в самом спеке/пейджобжекте.
Мб кто-то сталкивался с этой проблемой раньше? Спасибо :)
у меня работает отключение из конфига - https://prnt.sc/ry9n1g, но я не перезапускаю
источник

OK

Oleksandr Khotemskyi in JS for testing
Herman
Доброе утро, комрады!
Есть вопрос к умельцам протрактора. У нас на проектике часть юая переезжает на реакт, и решили попробовать завести наши тесты с waitForAngularEnabled(false) по дефолту.
При инициализации конфига в onPrepare хуке выключаю синхронизацию, но при запуске теста она опять включена (проверяю вызвав waitForAngularEnabled без параметра). Гуглёж не помогает, а официальная дока протрактора рекомендует выключать ангуляр синхронизацию уже в самом спеке/пейджобжекте.
Мб кто-то сталкивался с этой проблемой раньше? Спасибо :)
каждый раз когда браузер рестартишь - надо выключать опять, или когда forkNewDriverInstance делаешь - то в новом инстансе будет включен
источник

OK

Oleksandr Khotemskyi in JS for testing
Herman
Доброе утро, комрады!
Есть вопрос к умельцам протрактора. У нас на проектике часть юая переезжает на реакт, и решили попробовать завести наши тесты с waitForAngularEnabled(false) по дефолту.
При инициализации конфига в onPrepare хуке выключаю синхронизацию, но при запуске теста она опять включена (проверяю вызвав waitForAngularEnabled без параметра). Гуглёж не помогает, а официальная дока протрактора рекомендует выключать ангуляр синхронизацию уже в самом спеке/пейджобжекте.
Мб кто-то сталкивался с этой проблемой раньше? Спасибо :)
onPrepare: function () {
    ...
    beforeEach(async function () {
           browser.waitForAngularEnabled(false);
    })
}

можешь так попробовать, чтобы перед каждым тестом явно сетилось в false
источник

OK

Oleksandr Khotemskyi in JS for testing
Максим Кучеренко
Коллеги, подскажите, правильно ли я понял, что в протракторе использовать промис таким образом не совсем правильно?
export const conDropdown = async (cssLocator: string, testName: string = "", timeout: number = getTimeoutValueMsc()): Promise<boolean> => {
   let dropdownClickResult = await clickOnElementByCss(cssLocator);
   if(!dropdownClickResult) {
       return false;
   }
очень сложно написал, зачем тебе эти clickOnElementByCss которые возвращают булеан? Просто кидай эксепшн в райтайм и все
источник

H

Herman in JS for testing
Oleksandr Khotemskyi
onPrepare: function () {
    ...
    beforeEach(async function () {
           browser.waitForAngularEnabled(false);
    })
}

можешь так попробовать, чтобы перед каждым тестом явно сетилось в false
попробовал, падает с тем что не знает что такое beforeEach :(
источник

OK

Oleksandr Khotemskyi in JS for testing
Herman
попробовал, падает с тем что не знает что такое beforeEach :(
а у тебя mocha?
источник

H

Herman in JS for testing
+
источник

OK

Oleksandr Khotemskyi in JS for testing
beforeEach(function() {
   // runs before each test in this block
 });

это компилятор падает?
источник

OK

Oleksandr Khotemskyi in JS for testing
источник

H

Herman in JS for testing
в спек файлах beforeEach отрабатывает корректно. проблема в том что тут я пытался в конфиге его юзать
источник

OK

Oleksandr Khotemskyi in JS for testing
Herman
в спек файлах beforeEach отрабатывает корректно. проблема в том что тут я пытался в конфиге его юзать
в onPrepare должно работать, вероятно у тебя мока как то хитро подключена
источник

H

Herman in JS for testing
в общем есть чуть больше инфы на данный момент, может станет понятнее )
источник

OK

Oleksandr Khotemskyi in JS for testing
Herman
в спек файлах beforeEach отрабатывает корректно. проблема в том что тут я пытался в конфиге его юзать
ты не сказал это у тебя ts компилятор кидает ошибку или нет
источник

H

Herman in JS for testing
Oleksandr Khotemskyi
ты не сказал это у тебя ts компилятор кидает ошибку или нет
нет, это не ts. это уже в момент запуска, после открытия браузера
источник

H

Herman in JS for testing
был включен shardTestFiles опция, из-за нее браузер каждый раз перезапускался. выключил ее - в первом тесте ожидалка ангуляра true, во всех последующих - false.
а если включить shardTestFiles обратно - получается каждый раз дергается onPrepare в котором сетается ожидалка в false, но в каждом тесте она сразу true :(
источник

H

Herman in JS for testing
то есть мб onPrepare срабатывает, но в первом тесте не успевает где-то промиса дождаться. т.к. потом уже по дефолту выключен, что странно
источник

OK

Oleksandr Khotemskyi in JS for testing
Herman
был включен shardTestFiles опция, из-за нее браузер каждый раз перезапускался. выключил ее - в первом тесте ожидалка ангуляра true, во всех последующих - false.
а если включить shardTestFiles обратно - получается каждый раз дергается onPrepare в котором сетается ожидалка в false, но в каждом тесте она сразу true :(
если у тебя несколько it в одном файле то onPrepare отработает только раз на старте файла
источник