nightwatch运行测试

执行测试用例

全局运行: 若使用-g选项安装了Nightwatch,则可在任意位置执行:

nightwatch [source] [options]

指定项目: 若在指定项目安装nightwatch依赖,则可使用node_modules/.bin 或使用npx命令:

npx nightwatch [source] [options]

Linux和MaxOS:

./node_modules/.bin/nightwatch [source] [options]

Windows:
创建nightwatch.js,执行

require('nightwatch/bin/runner.js');

然后运行命令:

node nightwatch.js [source] [options]

测试源文件(source): 选项source可以时一个或多个文件或一整个文件夹。可与配置文件的src_folders无关:
单个测试

nightwatch tests/one/firstTest.js

多个单独测试

nightwatch tests/one/firstTest.js tests/secondTest.js

单个测试和一个文件夹

nightwatch tests/one/test.js tests/utils

命令行参数

可使用nightwatch --help 查看全部参数项

使用测试环境

default环境是必须的,所有其他环境均继承自default,且根据需要覆盖设置。以下示例中集成基础配置并覆盖了所有default定义的配置。

{
  ...
  "test_settings" : {
    "default" : {
      "launch_url" : "http://localhost",
      "globals" : {
        "myGlobalVar" : "some value",
        "otherGlobal" : "some other value"
      }
    },

    "integration" : {
      "launch_url" : "http://staging.host",
      "globals" : {
        "myGlobalVar" : "other value"
      }
    }
  }
}

配置后必须使用–env参数来使用具体的环境,如下:

nightwatch --env integration

使用测试组

nightwatch可以组织测试脚本为一组并执行。将测试放在同一子文件夹下即可,组名即为文件夹名:
如下示例:

lib/
  ├── selenium-server-standalone.jar
custom-commands/
  ├── loginUser.js
  ├── attachPicture.js
tests/
  ├── logingroup
  |   ├── login_test.js
  |   └── otherlogin_test.js
  ├── addressbook
  |   ├── addressbook_test.js
  |   └── contact_test.js
  ├── chat
  |   ├── chatwindow_test.js
  |   ├── chatmessage_test.js
  |   └── otherchat_test.js
  └── smoketests
      ├── smoke_test.js
      └── othersmoke_test.js

只执行smoketests组:

nightwatch --group smoketests

跳过smoketests组:

nightwatch --skipgroup smoketests

跳过多个组:

nightwatch --skipgroup addressbook,chat

使用测试标签

你可指定测试的标签,一个测试可拥有多个标签。如:login测试输入login测试套件,也属于sanity套件。
使用测试模块,通过@tags属性添加标签:

module.exports = {
  '@tags': ['login', 'sanity'],
  'demo login test': function (browser) {
     // test code
  }
};

使用describe接口:

describe('testsuite', function() {
  this.tags = ['login', 'sanity'];

  it('demo login test', function(browser) {

  });
});

选择运行的标签:

nightwatch --tag login

指定多个标签:

nightwatch --tag login --tag something_else

跳过指定标签:

nightwatch --skiptags login

跳过多个标签,使用,分隔:

nightwatch --skiptags login,something_else

同时运行

1. 通过测试workers
当此配置开启,测试执行器会开启多个子进程,然后同时运行载入的测试。设置test_workers以开启:

{
  "test_workers": {
    "enabled": true,
    "workers": "auto"
  }
}

{"test_workers": true}

workers选项配置同时运行的子进程数

  • auto - 确定CPU数,如4 CPUs表示 4个workers
  • {number} - 指定具体的workers
    另一种方法是–parallel 开关:
nightwatch --parallel

2. 通过同时在多个环境中运行

nightwatch -e firefox,chrome

以上将在firefox和chrome中并行运行。

3. workers + 多环境

nightwatch -e firefox,chrome --parallel
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值