Puppeteer自动化测试实践三.工作流

一.本地环境开发用例调试用例

用例编写本身也是需要调试和开发的。(公司很多测试平台在线编写测试用例搞不懂怎么调试和运行)。所以在我们项目中我们支持了本地编写调试用例。

实现代理的方式如下:(全局setup.js)

const redux = path.resolve(__dirname, './extension/redux');
  const args = [
    '--allow-running-insecure-content',  //允许不安全的脚本
    '--no-sandbox',
    '--disable-setuid-sandbox',
    '--auto-open-devtools-for-tabs',
    '--disable-dev-shm-usage',
    '--allow-cross-origin-auth-prompt',
  ];
  if (is_dev) {
    args.push('--proxy-server=127.0.0.1:8080'); //本机代理
    args.push('--disable-extensions-except=' + redux, '--load-extension=' + redux); //运行的插件
  } else {
    
  }

  const browser = await puppeteer.launch({
    executablePath: '/Applications/Chromium.app/Contents/MacOS/Chromium',
    headless: !is_dev,
    args,
    ignoreHTTPSErrors: true,
  });

1.这里加了很多实用参数,比如允许不安全脚本,自动打开devtools,加载redux开发者插件。 headless如果是dev模式则可见浏览器。

2.设置代理加上args.push('--proxy-server=127.0.0.1:8080'); 就可以代理到本机了。

这样我们就可以在浏览器调试用例执行过程。

二.测试用例启动流程

调用命令npm run jest后,在setup里面做了一系列初始化浏览器操作和登录操作后,然后并发执行每个测试用例。每个用例对应一个页面。等待用例执行结束后每个页面生成覆盖率数据,我们把覆盖率数据保存。覆盖率的生成在第四章会详细说明如何实现。

 

三.ci和git环境的结合

我们项目中是使用分支开发。如果分支开发测试完成提交git的merge request。这个时候git可以通过web hook请求ci编译运行自动化测试。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值