waitForAngularEnable (true) НЕ работает - ScriptTimeoutError: время ожидания сценария: результат не был получен в - PullRequest
0 голосов
/ 06 июня 2019

Стартовая страница угловая. Нажатие на кнопку приведет к странице входа, которая не является угловой. После входа остальные страницы угловые.

Я использую async / await .

  • Включить waitForAngularEnable ( true ) в onPrepare, но не сработало.
  • Попробуйте добавить waitForAngularEnable ( true ) после входа в систему, но этого не произошло работа.
  • Пытался увеличить timeOut, и это тоже не сработало.
  • Работает только при waitForAngularEnable ( false ). Я не могу использовать встроенную функцию в транспортире waiForAngular, который ждет, пока не загрузится угловая. В настоящее время с waitForAngularEnable (false) я вручную обрабатываю его с помощью browser.driver.wait (till.elementsLocated (by.id (value)), 30000); или ожидайте browser.wait (ExpectedConditions.presenceOf (ele), 30000) ;. Таким образом, это работает.

Версии-
"транспортир": "^ 5.4.2"
"узел": 10.15.3
"target": "es6"
"огурец": "^ 5.1.0",
"cucumber-html-reporter": "^ 5.0.0"
ScriptTimeoutError: script тайм-аут: результат не был получен в течение 30 секунд
(Информация о сеансе: chrome = 74.0.3729.169)
(Информация о драйвере: chromedriver = 74.0.3729.6
(255758eccf3d244491b8a1317aa76e1ce10d57e9-refs / главы-головок / 3729 @ {# 29}), платформа = Windows NT 10.0.17763 x86_64) at Object.checkLegacyResponse
(C: \ Automation \ General \ node_modules \ selenium-webdriver \ lib \ error.js: 546: 15) at parseHttpResponse (C: \ Automation \ General \ node_modules \ selenium-webdriver \ lib \ http.js: 509: 13)
в doSend.then.response (C: \ Automation \ General \ node_modules \ selenium-webdriver \ lib \ http.js: 441: 30)
at process._tickCallback (internal / process / next_tick.js: 68: 7) From: Task: Protractor.waitForAngular () - Локатор: By (xpath, // span [@ class = 'title__subtext'])

1 Ответ

0 голосов
/ 06 июня 2019

Что вы делаете (согласно моему пониманию вашей проблемы)

  • открыть угловую страницу
  • Войти
  • вы перенаправлены на неугловую страницу (на данный момент транспортир уже не отвечает)
  • вы пытаетесь await browser.waitForAngularEnabled(false); (но транспортир не отвечает, потому что вы находитесь на неугловой странице)

Что вы должны делать

  • открытая угловая страница
  • введите учетные данные
  • прежде чем нажать кнопку подтверждения, запустите await browser.waitForAngularEnabled(false);
  • вы перенаправлены на неугловую страницу (с этого момента транспортир может связаться с ней)
  • делай что хочешь

Просто вы должны отключить ожидание углового режима, пока вы все еще находитесь на угловой странице

P.S. и наоборот. если вы переходите от неугловой страницы обратно к угловой, вы должны включить эту функцию, только когда попали на угловую страницу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...