Версия: "webdriverio": "^ 5.7.5",
Заранее извиняюсь, если я не уверен, пожалуйста, дайте мне знать и могу передать мои данные соответственно.
Язапускать мои скрипты wdio5 за корпоративным прокси.Он успешно работает во всех браузерах.Я попытался интегрировать вызовы API в платформу и начал сталкиваться с множеством проблем.
Библиотеки Api, такие как supertest, axios [httpsProxyAgent включено], запрос синхронизации, запрос запроса не читают прокси-переменные npm, используемые wdio.Поэтому я получаю следующее сообщение об ошибке при вызовах API
Ошибка: getaddrinfo ENOTFOUND qa.internalurl.co.uk qa.internalurl.co.uk:443
Apiтакие библиотеки, как - request, fetch-with-proxy, успешно выполняют вызовы API с использованием настроек прокси.Мне нужно "дождаться" их ответа, следовательно, переместить мой блок it как асинхронную функцию.Но после успешного ответа в виде асинхронного вызова я получаю следующее сообщение об ошибке
[chrome # 0-0] $ (...). WaitForExist не является функцией
[chrome # 0-0] TypeError: $ (...). waitForExist не является функцией
Не просто waitForExist, сеанс почти не запоминает любые команды selenium / webdriverio.Ясно, что он теряет соединение с селеном в тот момент, когда переключается на асинхронные вызовы для получения ответа на обещание.
Есть ли способ с этим справиться?
let accountNo = "123456";
it.only('verify the dashboard page ',async () => {
//launches the browser url and cleans the cookies
try {
response = await apiCheck.postApiLoginData(accountNo);
//Makes to call to API function to get the values
} catch (err) {
console.error(err);
}
console.log(response); //prints the successful response data
lPage.enterLoginData(accountNo, 'pass1234'); //Fails here as the data is
addStep(`Login to the Standard application using username as ${accountNo} and PIN as 74437`);
lPage.assertSummaryPage(response);
}
Без блокировки кода Try, успешно войдите в приложение.