Selenium Webdriver + 量角器 + CucumberJS

Selenium Webdriver + Protractor + CucumberJS

大家好

我发现了一个问题,我不确定它是否真的是框架的已知问题,或者是由于我使用的 Protractor + CucumberJS 的版本,这些是:

"cucumber": "~0.7.0",
"protractor": "~2.5.1",
"selenium-standalone": "3.0.0",

我今天使用的是这个版本,我知道 CucumberJS 与 Protractor 是分开的,但是由于我们当前的项目使用的是 Node < 4,所以我无法更新它。 话虽如此,我遇到的错误是当我 运行 带有量角器 config.js 的测试套件和 seleniumAddress 属性被注释时(它在随机端口自动启动一个 webdriver) 套件完成时出现的错误是:

 throw new Error('This driver instance does not have a valid session ID ' +
        ^

BUT 当我 运行 完全相同的套件时,手动启动 webdriver 并设置 selenium 地址,测试 通过!!!

套件包含:

17 scenarios (17 passed)
55 steps (55 passed)

有谁知道可能是什么原因?我的第一个想法是手动启动服务器会使 webDriver 变慢,因此测试操作也会变慢,所以......但我比较了两次执行时间,两者之间只有 1 秒的差异......

我已经意识到,所有的问题是因为我注释掉了 seleniumAddress 行,Protractor 会自动启动 webDriber-manager,当我添加该行并手动启动 WebDriver ,错误没有再发生。不确定它自动启动是怎么回事,但是如果您 运行 遇到同样的问题,这里是解决方案!

谢谢