【问题标题】:Protractor repeat specs量角器重复规格
【发布时间】:2016-01-15 21:51:39
【问题描述】:

我有这样的情况

exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: [
        'test/scenarios/user/login.js',
        'test/scenarios/user/choose_user_1.js',
        'test/scenarios/user/change_user.js',
        'test/scenarios/user/choose_user_2.js',
        'test/scenarios/user/change_user.js',
        'test/scenarios/user/choose_user_3.js',
        'test/scenarios/user/logout.js'
    ]
}

但量角器不会多次重复使用 change_user.js.. 我必须创建 change_user_1.js 和 change_user_2.js 才能得到我想要的。有没有办法停用这种行为,或者我应该以不同的方式进行测试?

最好的问候

【问题讨论】:

    标签: javascript angularjs testing protractor bdd


    【解决方案1】:

    据我所知,您不能两次调用相同的脚本。我们有类似的问题,这就是我解决它的方法 - 使用 jasmine-data-provider,创建单独的套件而不是脚本,并使用数据提供程序循环它们。以下是我将遵循的步骤 -

    1. 安装jasmine-data-provider npm 包。
    2. 创建两个describe 套件,一个用于choose_user,另一个用于change_user
    3. 使用jasmine-data-provider 将多个数据传递给这些描述套件。
    4. choose_user - describe 每次运行时,change_user - describe 也会在其旁边运行。

    这是一个示例代码 -

    var dp = require('../node_modules/jasmine-data-provider'); //Install the npm package and provide its path
    
    //Data provider object to store data that script uses
    var objectDataProvider = {
        'Test1': {user1: 'user_1'},
        'Test2': {user1: 'user_2'},
        'Test3': {user1: 'user_3'},
    };
    
    //Jasmine Data Provider function automatically loops through the tests - Test1, Test2, Test3
    dp(objectDataProvider, function (data) {
    
        describe('choose_user Test:', function(){
            //Choose User specs that's applicable for one user
            //To use the objectDataProvider data use - data.user1 all the time
        });
    
        describe('change_user Test:', function(){
            //Change User specs that's applicable for one user
        });
    
    });
    

    此脚本应运行 choose_userchange_user 规范 3 次,然后您可以继续执行管道中的其余脚本。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 2015-12-27
      相关资源
      最近更新 更多