Mocha+Puppeteer+Allure前端自动化测试

1、配置命令package.json

"scripts": {

    "pretest": "rimraf -rf allure-results",

    "test": "npm-run-all -r -p test:*",

    "test:cases": "mocha --timeout 300000 'test/**/*.spec.js'  -g 'XXX case' ",  //-g是指定执行某个用例

    "test:results": "allure generate allure-results --clean -o allure-report",

    "report": "allure open allure-report"

  },

2、在linux服务器上集成jenkins部署自动化测试

3、安装chrome浏览器和chrome驱动

4、安装字体解决乱码

git clone https://github.com/yakumioto/YaHei-Consolas-Hybrid-1.12

sudo mkdir -p /usr/share/fonts/truetype/YaHei\ Consolas\ Hybrid

sudo cp YaHei\ Consolas\ Hybrid\ 1.12.ttf /usr/share/fonts/truetype/YaHei\ Consolas\ Hybrid

cd YaHei-Consolas-Hybrid-1.12/

sudo cp YaHei\ Consolas\ Hybrid\ 1.12.ttf /usr/share/fonts/truetype/YaHei\ Consolas\ Hybrid

cd /usr/share/fonts/truetype/YaHei\ Consolas\ Hybrid

sudo chmod 644 YaHei\ Consolas\ Hybrid\ 1.12.ttf

sudo mkfontscale

sudo mkfontdir

sudo fc-cache -fv

5、写脚本

'use strict'

const { expect } = require('chai')

require('mocha-allure-reporter')

const puppeteer = require('puppeteer')

let browser, page

describe('自动化测试', async () => {

  beforeEach(async () => {

     browser = await puppeteer.launch({

       executablePath: puppeteer.executablePath(),

       headless: true, args: [

         '--disable-setuid-sandbox',

         '--no-sandbox',

         '--ignore-certificate-errors',

         '--disable-web-security'

       ],

       timeout: 30000

     })

    page = await context.newPage()

    page.setJavaScriptEnabled(true)

    await page.setDefaultNavigationTimeout(0)

    await page.setViewport({ width: 1366, height: 768 })

    await page.goto('http://www.baidu.com')

  })

  it('测试用例1', async () => {

    .....

  })

6、运行脚本

npm run test

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。