Katalon Studio在Javascript中使用webDriver创建元素时无法识别

Katalon Studio在Javascript中使用webDriver创建元素时无法识别,javascript,selenium,selenium-webdriver,webdriver,katalon-studio,Javascript,Selenium,Selenium Webdriver,Webdriver,Katalon Studio,我尝试在Katalon Studio中使用executeJavascript方法,并编写了几行代码,这些代码与文档示例中的代码非常相似: 文档示例: 我的剧本: 我还在脚本中导入了WebElement: 但是,当我运行测试时,会收到以下错误消息: Test Cases/Forms/Test1 - fill in maintenance request form FAILED because (of) Unable to execute JavaScript. (Root cause: or

我尝试在Katalon Studio中使用executeJavascript方法,并编写了几行代码,这些代码与文档示例中的代码非常相似:

文档示例:

我的剧本:

我还在脚本中导入了WebElement:

但是,当我运行测试时,会收到以下错误消息:

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
然后,我更新了我的selenium、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)
我不明白为什么我仍然收到此错误,以及如何修复此错误。

此错误消息

org.openqa.selenium.WebDriverException: unknown error: element is not defined
…表示ChromeDriver无法与浏览上下文进行通信,即Chrome浏览器会话

您的主要问题是所使用的二进制文件之间的版本兼容性,如下所示:

  • 您使用的是chromedriver=2.35
  • 的发行说明明确提到以下内容:
支持Chrome v62-64

  • 您使用的是chrome=66.0
  • 的发行说明明确提到以下内容:
支持Chrome v65-67

  • 您的Selenium客户端版本是2017-11-06T21:07:36.161Z的3.7.1,比它早了将近半年
  • 您的JDK版本是1.8.0_102,非常古老
因此,JDKv8u102、Selenium客户端v3.7.1、ChromeDriver版本v2.35和Chrome浏览器v66.0之间存在明显的不匹配

解决方案
  • 将JDK升级到最新级别
  • 将硒升级到当前水平
  • 将ChromeDriver升级到当前级别
  • 将Chrome版本保持在Chrome v66.x的级别。()
  • 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
  • 在执行测试套件之前和之后,使用该工具清除所有操作系统杂务
  • 如果您的基本Web客户端版本太旧,请通过卸载它并安装最新的GA和Web客户端发布版本
  • 重新启动系统
  • 执行
    @测试

您说“…意味着ChromeDriver无法启动/生成新的网络浏览会话,即Chrome浏览器会话”,但一个新的Chrome浏览器确实打开以运行测试-这不是您的意思吗?嗯,拼写错误得到纠正。更新了我的答案。请告诉我状态。请描述如何执行此步骤:通过IDE清理项目工作区,并仅使用所需的依赖项重建项目。@user74843此步骤将从IDE执行,即Eclipse、PyCharm、SublimiteText3以清除IDE缓存。我对Katalon Studio不太清楚,但必须有一个重新重建整个项目的选项。嘿,我更新了我的selenium、chrome驱动程序和java。你可以看到更新的版本正在编辑的帖子中使用(我已经用更新编辑了帖子)。但是,我仍然收到错误消息。。。