学习JS,想知道在 Protractor 中是否可以做类似的事情
before Test1,3,5,7,9,11 etc(function(){
browser.get('http://192.168.1.117:7777/#/route1');
});
和
before Test2,4,6,8,10 etc(function(){
browser.get('http://192.168.1.117:7777/#/route2');
});
或者之前的唯一方法是
beforeEach(function(){
browser.get('http://192.168.1.117:7777/#/route');
});
不想每次都写 browser.get
,但不能使用 beforeEach
因为它是 2 条路线,而不是 1。如果我的问题很普通,请原谅,提前致谢:)
最佳答案
我从上面的问题中了解到,您有两个不同的 baseUrls,需要将一个用于一组测试用例,另一个用于剩余的测试用例。
如果我是对的,那么答案就是“你没有这样的选择”。您可以执行以下任一替代解决方案:
将测试用例分成组(在这里描述 block )。需要运行第一个 baseUrl 的测试用例,将它们全部放在一个 describe block 中
describe('group of test cases which uses route1 url', function(){ //you can use beforeEach and/or beforeAll beforeEach(function(){ browser.get("http://baseUrl1/route1"); }) beforeAll(function() { browser.get("http://baseUrl1/route1"); }) it('test case1', function(){ }); it('test case2', function(){ }); it('test case3', function(){ }); });
然后另一个套件,可能在同一个文件中:
describe('group of test cases which uses route2 url',function(){ //you can use beforeEach and/or beforeAll beforeEach(function(){ browser.get("http://baseUrl2/route2"); }) beforeAll(function() { browser.get("http://baseUrl2/route2"); }) it('test case1', function(){ }); it('test case2', function(){ }); it('test case3', function(){ }); });
尝试“在同一测试中使用多个浏览器”http://www.protractortest.org/#/browser-setup
关于javascript - 如何在 Protractor 中编写 beforeSomeTests?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200829/