我得到下面的错误时,尝试运行量角器测试对 chrome .
我的会议
import {Config} from 'protractor'
export let config: Config = {
framework: 'jasmine',
// capabilities: { browserName: 'chrome'},
multiCapabilities: [
// {browserName: 'firefox'},
{
browserName: 'chrome',
chromeOptions: {
args: ['--start-maximized']
},
}],
seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
seleniumPort: null,
seleniumArgs: [],
specs: [
'./Protractor/Login/*.spec.js',
错误:
Protractor conf.js
[17:19:07] I/hosted - Using the selenium server at http://127.0.0.1:4444/wd/hub
[17:19:07] I/launcher - Running 1 instances of WebDriver
[17:19:09] E/launcher - session not created exception
from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"8800.1","isDefault":true},"id":1,"name":"","origin":"://"}
(Session info: chrome=54.0.2840.59)
(Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.07 seconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'MAL000009416062', ip: '192.168.1.4', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_73'
Driver info: org.openqa.selenium.chrome.ChromeDriver
[17:19:09] E/launcher - SessionNotCreatedError: session not created exception
from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"8800.1","isDefault":true},"id":1,"name":"","origin":"://"}
(Session info: chrome=54.0.2840.59)
(Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.07 seconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'MAL000009416062', ip: '192.168.1.4', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_73'
Driver info: org.openqa.selenium.chrome.ChromeDriver
at WebDriverError (C:\Users\392811\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:27:5)
at SessionNotCreatedError (C:\Users\392811\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:308:5)
配置ts
multiCapabilities: [
{
browserName: 'chrome',
chromeOptions: {
args: ['--start-maximized']
},
}],
网络上的大部分讨论都围绕着版本。我目前使用的是最新版本
有线索吗?
干杯
7条答案
按热度按时间afdcj2ne1#
您可以通过更改Protractor的config.json文件来更改webdriver-manager下载的chromedriver的版本。
1.编辑量角器的配置文件:node_modules/protractor/config.json
1.将chrome驱动程序版本更改为您需要的任何版本。例如“chromedriver”:“2.24”。
1.运行webdriver-manager更新。
从你发布的错误中,量角器没有使用最新的chrome驱动程序版本。在堆栈跟踪中显示chrome驱动程序版本为
2.21
。dy2hfwbg2#
我还没有足够的代表在Sudharsan的回答下留下评论,但是他告诉你修改的配置文件的位置实际上是在
你要修改的不是量角器tsconfig,而是webdriver-manager
config.json
。话虽如此,我以前遇到过这个问题,并采取了不同的方法来解决它。Sudharsan提供的解决方案如果您只需要安装一次就可以工作。我们在TFS中运行构建,它清理构建代理的工作目录,并在每次构建时引入一个新的存储库。在这种情况下,更改webdriver配置是不起作用的,因为我们在每次构建之前都要
npm install
所有的东西。在这种情况下,它总是会恢复到旧版本的chromedriver。我所做的是将chromedriver添加到
package.json
中的devDependencies中,然后删除webdriver-manager安装的chromedriver版本,并使用gulp任务将更新后的chromedriver版本移动到正确的位置。因此,在package.json中,我在devDependencies下列出了以下内容:然后我有一个gulp任务,它删除并移动文件,如下所示:
而且因为量角器仍然会寻找你运行
webdriver-manager update
时安装的旧版本的chromedriver,你必须告诉它在哪里寻找chromedriver.exe,所以把它添加到你的量角器conf.js,它应该开始工作了。这是一种愚蠢的,我们必须通过所有这些麻烦,让它的工作,但chromedriver 2.22似乎不与Chrome 53+工作。至少不是在我的经验。
TL;DR
如果你只需要安装一次,使用Sudharsan的解决方案(只要你修改正确的配置),它更容易。如果你是在我的情况下,将不得不安装量角器不断尝试我的解决方案。这对我来说很好,从那以后我就再也没有遇到过这个错误。
wz1wpwve3#
我只需要:
它再次奏效了。
zvms9eto4#
Protractor有一个新版本(4.0.10),将使用新版本的webdriver-manager(10.2.6),当调用webdriver-manager update时,它将更新到新的Chromedriver。您需要做的就是在package.json文件中更新Protractor。
希望这有帮助:)
kse8i1jr5#
1.运行以下命令:
1.Projectdirectory:/>webdriver-manager update --versions.chrome=ChromeVersion
1.* 将其替换为“ChromeVersion”Google Chrome浏览器版本。通过导航到“帮助>>关于Google Chrome>>例如:版本76.0.3809.100(Official Build)(64-bit)".*
我希望这对你有用。
qpgpyjmq6#
对我来说,更新chromedriver和
protractor-conf.js
解决了这个问题。1.下载适合您的操作系统的最新chromedriver(如果需要,请更改次要版本)从这里:http://chromedriver.storage.googleapis.com/index.html?path=2.24/
1.解压缩到
/usr/local/bin/chromedriver
文件夹。1.在
protractor-conf.js
(应该在应用程序根目录下)中添加一行config.chromeDriver = '/usr/local/bin/chromedriver';
llycmphe7#
在用户目录的webdriver-manager文件夹下有一个package.json文件-将其webdriver-version更改为最新版本。应该可以的
“name”:“webdriver-manager”,“version”:“12.1.8”,