Katalon Studio создает элемент с webDriver не распознается при использовании в Javascript - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь использовать метод executeJavascript в Katalon Studio и написал пару строк кода, которые действительно похожи на приведенные в примере документации:

пример документации: enter image description here

мой скрипт: enter image description here

Я также импортировал WebElement в свой скрипт:

enter image description here

Однако, когда я запускаю свой тест, я получаю это сообщение об ошибке:

Test Cases/Forms/Test1 - fill in maintenance request form FAILED because (of) Unable to execute JavaScript. (Root cause: org.openqa.selenium.WebDriverException: unknown error: element is not defined
(Session info: chrome=66.0.3359.181)
(Driver info: chromedriver=2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef),platform=Mac OS X 10.13.4 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
System info: host: 'Nikkis-MacBook-Pro.local', ip: 'fe80:0:0:0:18e2:b2c7:8b31:3164%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.4', java.version: '1.8.0_102'
Driver info: com.kms.katalon.selenium.driver.CChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.35.528157 (4429ca2590d698..., userDataDir: /var/folders/fl/d70hxqb520v...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 66.0.3359.181, webStorageEnabled: true}
Session ID: 05ebb4c39e0862af7f3893c442527a3b)

Test Cases/Forms/Test1 - fill in maintenance request form.run:65

, тогда я обновил свой селен, драйвер chrome и Java, но я все еще получаю эту ошибку:

Unable to execute JavaScript. (Root cause: org.openqa.selenium.WebDriverException: unknown error: element is not defined   (Session info: chrome=66.0.3359.181)   (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.13.4 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:08.936Z' System info: host: 'Nikkis-MacBook-Pro.local', ip: 'fe80:0:0:0:18e2:b2c7:8b31:3164%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.4', java.version: '1.8.0_102' Driver info: com.kms.katalon.selenium.driver.CChromeDriver Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.38.552518 (183d19265345f5..., userDataDir: /var/folders/fl/d70hxqb520v...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version:
66.0.3359.181, webStorageEnabled: true} Session ID: 2c4f4643acb4d1c0a106ac0fb9e31254)

Я не понимаю, почему я все еще получаю эту ошибку, и как я могу это исправить.

1 Ответ

0 голосов
/ 25 мая 2018

Это сообщение об ошибке ...

org.openqa.selenium.WebDriverException: unknown error: element is not defined

... означает, что ChromeDriver не смог связаться с Контекстом просмотра , то есть ChromeБраузер сеанс.

Ваша основная проблема заключается в совместимости версии между двоичными файлами, которые вы используете следующим образом:

  • Вы используете chromedriver= 2,35
  • Примечания к выпуску chromedriver = 2,35 четко упоминает следующее:

Поддержка Chrome v62-64

  • Вы используете chrome = 66.0
  • Примечания к выпуску ChromeDriver v2.38 четко упоминает следующее:

Подставки Chrome v65-67

  • Ваш Selenium Client версия 3.7.1 из 2017-11-06T21: 07: 36.161Z , что почти полугодия старше.
  • Ваша версия JDK - это 1.8.0_102 , который довольно древний.

Таким образом, существует явное несоответствие между JDK v8u102 , Selenium Client v3.7.1 , ChromeDriver версия v2.35 и Chrome Browser v66.0

Решение

  • Обновление JDK до последних уровней JDK 8u171 .
  • Обновление Селен до текущих уровней Версия 3.12.0 .
  • Обновление ChromeDriver до текущей ChromeDriver v2.38 уровень.
  • Сохранить Chrome версия на уровне Chrome v66.x уровней.( в соответствии с примечаниями к выпуску ChromeDriver v2.38 )
  • Очистить ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • Используйте CCleaner , чтобы стереть все рутинные операции ОС до и после выполнения вашего test Suite .
  • Если ваша базовая Веб-клиент версия устарела, удалите ее через Revo Uninstaller и установите последнюю версиюGA и выпущенная версия Веб-клиент .
  • Возьмите Перезагрузка системы .
  • Выполните @Test.
...