Ist*_*har 3 javascript selenium protractor angular
我正在尝试按照量角器官方网站上的量角器教程进行操作,但我什至无法完成步骤0。
我在6.0.0版中使用量角器和webdriver-manager。我的SO是Linux(Ubuntu 18.06),而我的Chrome是最新的(73.0.3683.86)。安装量角器后,我不得不降级默认安装的chromedriver,因为它期望我安装Chrome74。我通过执行降级了它webdriver-manager --versions.chrome 73.0.3683.68。
之后,我一直遵循本教程的步骤0。我有configuration.js文件和test-spec.js文件,如下所示:
configuration.js
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['test-spec.js']
};
Run Code Online (Sandbox Code Playgroud)
测试规范
describe('Protractor Demo App', function() {
it('should have a title', function() {
browser.get('http://juliemr.github.io/protractor-demo/');
expect(browser.getTitle()).toEqual('Super Calculator');
});
});
Run Code Online (Sandbox Code Playgroud)
当我运行protactor时protractor configuration.js,出现以下错误:
[15:15:13]我/托管-在http:// localhost:4444 / wd / hub上使用Selenium服务器
弃用:不建议直接设置randomizeTests,请在`configure`中使用random选项
弃用:不建议直接在Env上设置specFilter,请使用`configure`中的specFilter选项
已开始
F
失败:
1)量角器演示应用程序应具有标题
信息:
预期[对象承诺]等于“超级计算器”。
堆:
错误:预期[对象承诺]等于“超级计算器”。
在
在UserContext上。(/home/srubio/Escritorio/Protractor/test-spec.js:5:32)
在
1个规格,1个故障
在0.009秒内完成
/home/srubio/n/lib/node_modules/protractor/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3190
抛出参数[0];
^
错误:等待量角器与页面同步时出错:“ angularJS可测试性和角度可测试性均未定义。这可能是因为这是一个非角度页面,或者是因为您的测试涉及客户端导航,这可能会干扰量角器的引导程序。有关详细信息,请参见http://git.io/v4gXM“
在ProtractorBrowser中。(/home/srubio/n/lib/node_modules/protractor/built/browser.js:354:27)
在Generator.next()
完成时(/home/srubio/n/lib/node_modules/protractor/built/browser.js:4:58)
在processTicksAndRejections(内部/进程/next_tick.js:81:5)
更新此答案
量角器版本6.0使用硒版本4,这是第一个删除对控制流的支持的硒版本。控制流使量角器可以执行如下代码
browser.get('http://google.com');
expect(browser.getTitle()).toEqual('Super Calculator');
Run Code Online (Sandbox Code Playgroud)
以同步的方式。
到目前为止,一直使用控制流来以用户友好的方式处理webdriverJS承诺的异步性质。一旦支持es8异步/等待样式的承诺处理,便决定弃用控制流并建议用户继续使用异步/等待。
6.0是Protractor 的最新版本,我相信它是3天前发布的(大约22 / March / 19),并且它不再支持以前默认启用的控制流。显然,教程文档尚未更新以反映此问题,我相信这就是为什么您看到此问题的原因。
展望未来,您将需要使用async / await语法(在我看来,它实际上更具可读性和易用性)
尝试以下代码:
configuration.js
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['test-spec.js']
};
Run Code Online (Sandbox Code Playgroud)
测试规范
describe('Protractor Demo App', function() {
it('should have a title', async function() {
await browser.get('http://juliemr.github.io/protractor-demo/');
expect(await browser.getTitle()).toEqual('Super Calculator');
});
});
Run Code Online (Sandbox Code Playgroud)
更新:
如果您尝试添加SELENIUM_PROMISE_MANAGER: true,到您configuration.js的文档中,则可能会使您继续编写演示。
| 归档时间: |
|
| 查看次数: |
375 次 |
| 最近记录: |