javascript - Chromedriver 76 破坏了我的测试套件 "javascript error: circular reference"

标签 javascript selenium-webdriver protractor webdriver selenium-chromedriver

现在,每当我尝试单击我公司的网络应用程序上的任何元素时,我都会收到“javascript 错误:循环引用( session 信息:chrome=76.0.3809.100)”。

这是在以前的 chromedriver 版本上运行良好的代码

我已经尝试了链接到 here 的“重复”问题中提到的解决方案,老实说,我认为这个问题被错误地标记为重复。

Protractor :版本 6.0.0(也在 5.4.2 上试过)

webdriver-manager:使用全局安装版本 12.1.6

Selenium 服务器版本:3.141.59

节点:v10.16.2

显然是 chromedriver_76.0.3809.12

我要运行的代码在这里

async function clickElemByID(strID){
    await browser.sleep(15000);
    var testElem = element(by.id(strID));
    try {
        await testElem.click();//throws "Failed: javascript error: circular reference"
    } catch (e) { 
        console.log(e);
    }
}

catch block 捕获:

"JavascriptError: javascript error: circular reference
  (Session info: chrome=76.0.3809.100)
    at Object.throwDecodedError (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:550:15)
    at parseHttpResponse (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:560:13)
    at Executor.execute (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:486:26)
    at process._tickCallback (internal/process/next_tick.js:68:7)Error
    at ElementArrayFinder.applyAction_ (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\built\element.js:459:29)
    at ElementArrayFinder.(anonymous function).args [as click] (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\built\element.js:97:29)
    at ElementFinder.(anonymous function).args [as click] (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\built\element.js:818:22)
    at UserContext.it (c:\Users\%username%\Development\test-automation\Repo\Cloud\UK Tax\HMRC Test Cases 2018-19\hmrcTestCase001\spec01.js:173:28)"

这在多台机器上都发生过。

Firefox 似乎仍然可以正常工作

最佳答案

根据 Issue 2995: javascript error: circular reference with ChromeDriver 它已在 Chrome/ChromeDriver 版本 76.0.3809.68 中修复。请尝试使用 76.0.3809.68。

更改日志:

ChromeDriver 76.0.3809.68
Supports Chrome version 76

Includes the following changes over version 76.0.3809.25:
Fixed a bug in detecting circular reference in JavaScript objects

编辑

'webdriver-manager' 存在问题,它没有下载 v76.0.0 的最新版本。您必须自己安装 issue - 408

npm install chromedriver --chromedriver_version=LATEST

关于javascript - Chromedriver 76 破坏了我的测试套件 "javascript error: circular reference",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57492625/

相关文章:

javascript - 为什么在我使用 getElementById Removed Script for other ID 时附加主体 div 被删除

javascript - 使用 document.url.match 重定向

javascript - 拖动时围绕对象旋转相机

selenium - 使用 GUI 进行自动化网站测试

python - ElementNotInteractableException : Element <> is not reachable by keyboard

testing - 如何在 google.com 上使用 Protractor?

phantomjs - 使用 Protractor 设置 PhantomJs 不起作用

javascript - JavaScript 中的元组集?

javascript - 单击带有 Selenium 的动态链接

angular - 模块扩充错误 :'x' 仅指一种类型,但在此处用作值