javascript - 是什么导致了这个 Selenium 错误?

标签 javascript selenium nightwatch.js

使用 NightwatchJS 和 Selenium 我试图断言浏览器中的滚动位置是正确的。这是我在 Nightwatch 中的命令:

assertScrollPosition(testValue) {
            this.api.execute(() => {
                const offsetValue = window.pageYOffset;
                return offsetValue;
            }, [], (result) => {
                console.log(result);
                this.assert.equal(
                    testValue,
                    result.value,
                );
            });
        },

当我第一次开始进行此测试时,一切正常。我不知道发生了什么变化,但 result 对象现在返回错误:

{ status: -1,
  value:
   { additionalInformation: '\nDriver info: org.openqa.selenium.chrome.ChromeDriver\nCapabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8), userDataDir=/var/folders/vq/zbcy3_q54lx8hmw4fxf1yjmr0000gn/T/.org.chromium.Chromium.ixmTka}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=66.0.3359.117, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=false, acceptInsecureCerts=false, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}]\nSession ID: 56606c23e68c130649c1efa3573c3122',
     localizedMessage: 'unknown error: cov_1qa0joknhz is not defined\n  (Session info: chrome=66.0.3359.117)\n  (Driver info: chromedriver=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8),platform=Mac OS X 10.11.6 x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 9 milliseconds\nBuild info: version: \'2.53.0\', revision: \'35ae25b\', time: \'2016-03-15 17:00:58\'\nSystem info: host: \'MYHOST\', ip: \'192.168.1.239\', os.name: \'Mac OS X\', os.arch: \'x86_64\', os.version: \'10.11.6\', java.version: \'1.8.0_121\'\nDriver info: org.openqa.selenium.chrome.ChromeDriver\nCapabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8), userDataDir=/var/folders/vq/zbcy3_q54lx8hmw4fxf1yjmr0000gn/T/.org.chromium.Chromium.ixmTka}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=66.0.3359.117, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=false, acceptInsecureCerts=false, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}]\nSession ID: 56606c23e68c130649c1efa3573c3122',
     supportUrl: null,
     systemInformation: 'System info: host: \'MYHOST\', ip: \'192.168.1.239\', os.name: \'Mac OS X\', os.arch: \'x86_64\', os.version: \'10.11.6\', java.version: \'1.8.0_121\'',
     cause: null,
     suppressed: [],
     message: 'unknown error: cov_1qa0joknhz is not defined\n  (Session info: chrome=66.0.3359.117)\n  (Driver info: chromedriver=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8),platform=Mac OS X 10.11.6 x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 9 milliseconds\nBuild info: version: \'2.53.0\', revision: \'35ae25b\', time: \'2016-03-15 17:00:58\'\nSystem info: host: \'MYHOST\', ip: \'192.168.1.239\', os.name: \'Mac OS X\', os.arch: \'x86_64\', os.version: \'10.11.6\', java.version: \'1.8.0_121\'\nDriver info: org.openqa.selenium.chrome.ChromeDriver\nCapabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.36.540469 (1881fd7f8641508feb5166b7cae561d87723cfa8), userDataDir=/var/folders/vq/zbcy3_q54lx8hmw4fxf1yjmr0000gn/T/.org.chromium.Chromium.ixmTka}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=66.0.3359.117, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=false, acceptInsecureCerts=false, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}]\nSession ID: 56606c23e68c130649c1efa3573c3122',
     hCode: 154590761,
     class: 'org.openqa.selenium.WebDriverException',
     buildInformation:
      { buildTime: '2016-03-15 17:00:58',
        buildRevision: '35ae25b',
        releaseLabel: '2.53.0',
        hCode: 2055848537,
        class: 'org.openqa.selenium.internal.BuildInfo' } },
  errorStatus: 13,
  error: 'An unknown server-side error occurred while processing the command.' }

最佳答案

变量cov_1qa0joknhz未在浏览器上下文中定义。这个变量很可能是由像 Istanbul 尔这样的覆盖工具注入(inject)的。要解决此问题,请将代码作为字符串注入(inject):

this.api.execute("return window.pageYOffset;", ...

关于javascript - 是什么导致了这个 Selenium 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49908874/

相关文章:

javascript - nightwatch 中有没有办法访问按钮的 onClick 处理程序代码?

testing - 如何使用 Selenium 强制执行 onClick 事件?

authentication - Nightwatch.js:运行 .locateMultipleElements() 协议(protocol)操作时出错:无效的选择器:指定了无效或非法的选择器

javascript - 使用 CTR 模式对 crypto-js 进行加密并在 Node crypto 上进行解密问题

javascript - 迭代特定元素的嵌套对象结构

javascript - 使用 If Else 语句和 document.getElementByID 进行表单验证

javascript - aurelia 中使用 repeat.for 绑定(bind)自定义元素的正确方法是什么

csv - 如何使用 Selenium 将测试结果写入CSV文件

selenium - 使用 headless 时 Selenium 数据目录出错

javascript - Nightwatch 无法通过 css id 或类选择器定位元素