Что является причиной этой ошибки Selenium?
Используя 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.' }
1 ответ
Решение
Переменная cov_1qa0joknhz
не определяется в контексте браузера. Эта переменная, скорее всего, вводится инструментом покрытия, таким как Стамбул. Чтобы преодолеть эту проблему, введите ваш код в виде строки:
this.api.execute("return window.pageYOffset;", ...