【问题标题】:controlling multiple browsers during protractor e2e tests independently在量角器 e2e 测试期间独立控制多个浏览器
【发布时间】:2021-04-12 21:32:02
【问题描述】:

在 Angular 网络聊天程序的 E2E 测试期间,使用量角器作为 E2E 框架,我想在测试期间打开两个浏览器并控制它们中的每一个,这样我就可以模拟真实的聊天并验证所有期望是否得到满足。

这可能吗?我知道我可以使用多功能配置段在多个浏览器上并行运行测试,但在这里我想运行多个浏览器作为测试的一部分并执行不同的异常检查。

欢迎任何帮助,

谢谢

阿隆

【问题讨论】:

  • 这个功能早就被请求过了! Protractor#381 但你可能很幸运:正在进行 PR ;)
  • PR 现已提交并将包含在下一个 Protractor 版本 1.5.0 中

标签: angularjs selenium protractor


【解决方案1】:

这是一个完全符合您要求的示例(即测试即时通讯工具)

https://github.com/angular/protractor/blob/master/spec/interactionConf.jshttps://github.com/angular/protractor/blob/master/spec/interaction/interaction_spec.js#L51

要运行我正在测试的即时通讯测试应用,请查看 protractor github 项目并运行 npm start

【讨论】:

【解决方案2】:

是的,您可以通过分叉驱动程序来控制多个浏览器:

browser.get('http://www.angularjs.org');
browser.addMockModule('moduleA', "angular.module('moduleA', []).value('version', '3');");

// To create a new browser.
var browser2 = browser.forkNewDriverInstance();

// To create a new browser with url as 'http://www.angularjs.org':
var browser3 = browser.forkNewDriverInstance(true);

请注意,如果您使用全局变量或 $ 或 $$,您还必须准备新的替换

var element2 = browser2.element;
var $2 = browser2.$;
var $$2 = browser2.$$;
element2(by.model(...)).click();
$2('.css').click();
$$2('.css').click();

https://www.protractortest.org/#/browser-setup#using-multiple-browsers-in-the-same-test

【讨论】:

    猜你喜欢
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多