自2月7日以来,我所有的测试都失败了同样的错误; 日志条目如下:
RESPONSE MaximizeWindow unknown error: cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
(Session info: chrome=57.0.2987.21)
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是由Chrome更新或其他内容引起的 - 消息很模糊.
编辑:我正在使用C#和最新的Chromedriver.
我有一个测试,每次运行它,抛出" UnknownError:未知错误:超出最大调用堆栈大小. "
此测试在我的一项服务中调用了一种写入Google云端硬盘的方法.
失败的测试是使用"ui"调用我的doDrive函数,这意味着更新Drive项.如果我更改单个字符"ui" - >"ni",意味着创建一个新的Drive项目,测试工作.被测代码在正常使用中工作正常.
it('should update a file', function() {
browser.executeAsyncScript(function(callback) {
// get service
var service=angular.element(document.getElementById('ngapp')).injector().get('DriveQ')
// generate a title
var title = 'title of file';
// call doDrive to create a new file
service.doDrive({t:'ui',id:'0B6B-RNrxsCu2Sll7JZTYy2aDA', item:{title:title}})
.then(function (resp){
resp.originalTitle=title;
callback(resp)
});
}).then(function(resp) {
expect(resp.title).toEqual(resp.originalTitle);
});
});
Run Code Online (Sandbox Code Playgroud)
我直接使用chrome webdriver,我也有 browser.ignoreSynchronization = true;
browser-automation jasmine selenium-webdriver protractor chrome-web-driver
我正在尝试使用ChromeWebDriver在Chrome上测试我的应用程序,但每次尝试时都会出现以下异常:
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed
(Driver info: chromedriver=2.10.267521,platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 61.46 seconds
Build info: version: '2.41.0', revision: '3192d8a6c4449dc285928ba024779344f5423c58', time: '2014-03-27 11:29:39'
System info: host: 'PADAMSKI-W', ip: '10.10.8.60', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_37'
Driver info: pl.axit.test.selenium.env.KoralinaChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:595)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
at org.openqa.selenium.chrome.ChromeDriver.startSession(ChromeDriver.java:181)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:126)
at …Run Code Online (Sandbox Code Playgroud) 我有类似这样的代码:
ExamPage.prototype.enterDetailsInputData = function (modifier) {
page.sendKeys(this.modalExamName, 'Test Exam ' + modifier);
page.sendKeys(this.modalExamVersionId, 'Test exam version ' + modifier);
page.sendKeys(this.modalExamProductVersionId, 'Test exam product version ' + modifier);
page.sendKeys(this.modalExamAudienceId, 'Test exam audience ' + modifier);
page.sendKeys(this.modalExamPublishedId, '2014-06-1' + modifier);
page.sendKeys(this.modalExamPriceId, '100' + modifier);
page.sendKeys(this.modalExamDurationId, '6' + modifier);
};
Run Code Online (Sandbox Code Playgroud)
这是page.sendKeys函数.请注意,目前这不是任何承诺或类似的回报.如果函数编码不好,那么欢迎评论:
// page.sendkeys function
sendKeys(id: string, text: string) {
element(by.id(id)).sendKeys(text);
}
Run Code Online (Sandbox Code Playgroud)
我看着它慢慢填满我屏幕上的每个字段,然后在接下来的更多测试中一次又一次地重复它.
有没有什么方法可以优化这个或者我必须等待一个字段接一个填充并且必须忍受需要很长时间才能运行的测试?
我认为sendKeys是基于承诺的.我可以使用AngularJS $ q同时发出所有sendKeys然后使用$ q等待它们完成吗?
webdriver angularjs selenium-webdriver protractor chrome-web-driver
我在这里看了类似的问题Protractor/Selenium Webdriver:Runtime.executionContextCreated有无效的'context'和BUG-1473,但我无法得到答案因此我决定在这里给它.我安装了最新的chrome_driver v2.9,但仍然Runtime.executionContextCreated出错.这是我的代码
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.google.com/xhtml')
Run Code Online (Sandbox Code Playgroud)
并在python shell上抛出异常:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/humoyun/Documents/virtual_env_fold/flasky/fl_venv/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 248, in get
self.execute(Command.GET, {'url': url})
File "/Users/humoyun/Documents/virtual_env_fold/flasky/fl_venv/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/Users/humoyun/Documents/virtual_env_fold/flasky/fl_venv/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"2061.1","isDefault":true},"id":1,"name":"","origin":"://"}
(Session info: chrome=55.0.2883.95)
(Driver info: chromedriver=2.9.248307,platform=Mac OS X 10.11.3 x86_64)
Run Code Online (Sandbox Code Playgroud) 在官方W3c webdirver文档中,明确指出位置策略是:
State Keyword
CSS selector "css selector"
Link text selector "link text"
Partial link text selector "partial link text"
Tag name "tag name"
XPath selector "xpath"
Run Code Online (Sandbox Code Playgroud)
但是,Selenium的电线协议允许:
class name
css selector
id
name
link text
partial link text
tag name
xpath
Run Code Online (Sandbox Code Playgroud)
在理论中,Selenium的文档已经过时,"真实"的故事在新的规范文档中.然而...
我在最新的Chrome自己的Webdriver上运行了一些测试,我可以确认这一点,name并且class name两者都有效; 但是,它们不符合规格.
我记得在Chromium问题上阅读他们只会实现官方的Webdriver规范.
现在:我知道通用答案,其中"规格并不总是100%遵循"等.但是,我想知道的是:
javascript selenium google-chrome chromium chrome-web-driver
我正在使用Chrome Web Driver 2.10 chromedriver_win32.zip和Selenium WebDriver 2.31.2.
启用详细日志记录后,似乎DesiredCapabilities(https://sites.google.com/a/chromium.org/chromedriver/capabilities)正常通过,
[1.174][FINE]: Initializing session with capabilities {
"browserName": "chrome",
"chrome.switches": [ ],
"chromeOptions": {
"args": [ ],
"binary": "",
"extensions": [ ],
"prefs": {
"download.default_directory": "C:\\Downloads",
"download.directory_upgrade": "true",
"download.extensions_to_open": "",
"download.prompt_for_download": "false"
}
},
"javascriptEnabled": true,
"platform": "WINDOWS",
"version": ""
}
Run Code Online (Sandbox Code Playgroud)
但Chrome网络驱动程序正在播放*.mp4而不是下载.
我已经尝试过如何使用Selenium Webdriver .NET绑定设置Chrome首选项的解决方案?但它似乎不适用于较新的Chrome Web驱动程序版本,如果我尝试使用selenium-dotnet-2.31.2与chromedriver_win_26.0.1383.0,它会崩溃.
有人有建议吗?
我正在尝试运行测试用例来执行重置密码,我正面临这个问题.
WebDriverException元素必须是用户可编辑的才能清除它.
基本上我正在访问页面以输入新密码并执行此操作:
browser.$("#newPassword").text("password");
Run Code Online (Sandbox Code Playgroud)
执行上述行会引发错误.
selenium webdriver selenium-chromedriver fluentlenium chrome-web-driver
我有一台运行Windows 7虚拟机的Windows 10笔记本电脑.在虚拟机内部,当我启动WebDriver时,它在启动时给出错误gpu_process_transport_factory.cc <1009>丢失的UI共享上下文:
IWebDriver driver = new ChromeDriver() //This causes the 1009 Error
Run Code Online (Sandbox Code Playgroud)
然后因查询立体声录音失败 而无法发送GpuChannelMsg_CreateCommandBuffer 和 command_buffer_proxy_impll.cc <115>共享内存句柄无效.
这已经工作了几个月并且没有进行任何更改(此WebDriver是虚拟机的唯一目的),运行它的笔记本电脑运行正常(即没有GPU问题).WebDriver仍会浏览页面,但会产生更多错误并且速度会慢10倍.
编辑:更新到ChromeDriver到2.35仍然是相同的行为.
c# selenium selenium-chromedriver selenium-webdriver chrome-web-driver
我正在使用chimp.js,它通过一些光纤魔法来增强webdriver.io,以便可以以同步方式定义代码.这是代码:
var c = require('./config');
module.exports = function () {
this.When(/^I try to login with wrong credentials$/, function () {
browser.setValue(userNameField, wrongUser);
browser.setValue(passwordField, wrongPassword);
browser.click('button[value="Login"]');
});
this.When(/^I try to login with the correct credentials$/, function () {
browser.setValue(userNameField, c.userName);
browser.setValue(passwordField, c.password);
console.log('before pressig the button');
browser.click('button[value="Login"]');
console.log('logged in');
});
};
Run Code Online (Sandbox Code Playgroud)
第一个When执行得很好.第二个When也有效,我只是没有看到
登录
在控制台上.两者都在同一个网站上运行,并且都点击了同一个按钮.在第二种情况下,登录成功后,浏览器将重定向到角度SPA.这里的一切都正确加载,但就是这样.回调永远不会发生.
用--debug --log=command我运行测试看到这是最后一行(在超时之前)
[1;30m[01:30:18]: [0m [0;35mCOMMAND [0mPOST "/wd/hub/session/7c334efe-2417-4184-b43c-082ba4441291/element/11/click"
Run Code Online (Sandbox Code Playgroud)
将日志级别切换为详细,并等待〜5min我收到以下错误:
[chimp][selenium.stderr] 01:36:59.561 DEBUG - Executed: [0560aaa14e4cf874afd72336c19e299b, clickElement {id=0.6384125368203968-3}]
[chimp][selenium.stderr] 01:37:02.449 WARN …Run Code Online (Sandbox Code Playgroud) selenium ×7
angularjs ×2
protractor ×2
webdriver ×2
c# ×1
chimp.js ×1
chromium ×1
fluentlenium ×1
jasmine ×1
javascript ×1
macos ×1
python ×1
webdriver-io ×1