javascript - 如何在 Protractor 中编写 beforeSomeTests?

标签 javascript angularjs protractor

学习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,需要将一个用于一组测试用例,另一个用于剩余的测试用例。

如果我是对的,那么答案就是“你没有这样的选择”。您可以执行以下任一替代解决方案:

  1. 将测试用例分成组(在这里描述 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(){
    
        });
    
    
    });
    
  2. 尝试“在同一测试中使用多个浏览器”http://www.protractortest.org/#/browser-setup

关于javascript - 如何在 Protractor 中编写 beforeSomeTests?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200829/

相关文章:

javascript - 到达 scrollspy 部分的末尾时强制停止滚动

javascript - IE 中的 defiant.js 支持

html - AngularJS 模态 (ui.bootstrap.modal) 不工作

javascript - Protractor 元素在该点不可点击

ios - 使用Appium生成 Protractor 脚本时,有没有具体的元素定位方式?

javascript - 合并两个数组,使值交替

javascript - Jquery $.get() 和 $.ajax() 没有得到相同的结果

javascript - 错误着陆时不引用父作用域

javascript - 如何更新两个模型?

angularjs - 如何在e2e测试中触发 'swipeleft'事件( Protractor )