在Linux服务器上回放本地录制的uirecorder脚本并生成Allure报告的配置方法

需求

在linux服务器回放本地录制的脚本,并生成allure报告,通过固定链接的方式展示报告。

本文只对服务器端运行uirecorder脚本及allure报告展示的配置方式做介绍,录制运行代码的介绍参考官方文档:docker uirecorder allure nginx

方案

  1. 本地录制uirecorder脚本,并通过git同步到服务器
  2. 使用docker搭建chromedriver服务
  3. 使用npm docker运行uirecorder脚本
  4. allure生成测试报告
  5. 将测试报告放在nginx静态文件目录进行展示

1. ui recorder配置

pachage.json

将输出报告方式改为  --reporter mocha-allure-reporter

{
  "name": "uirecorderTest",
  "version": "1.0.0",
  "description": "",
  "main": "",
  "dependencies": {
    "chai": "3.5.0",
    "jquery": "3.x",
    "jwebdriver": "2.3.4",
    "macaca-mocha-parallel-tests": "2.x",
    "macaca-reporter": "^1.3.24",
    "mocha": "5",
    "mocha-allure-reporter": "^1.4.0",
    "resemblejs-node": "1.0.0",
    "selenium-standalone": "6.x.x"
  },
  "scripts": {
    "installdriver": "selenium-standalone install --drivers.firefox.baseURL=http://npm.taobao.org/mirrors/geckodriver --baseURL=http://npm.taobao.org/mirrors/selenium --drivers.chrome.baseURL=http://npm.taobao.org/mirrors/chromedriver --drivers.ie.baseURL=http://npm.taobao.org/mirrors/selenium",
    "server": "selenium-standalone start",
    "singletest": "mocha --reporter macaca-reporter --reporter-options reportJSONFilename=index,processAlwaysExitWithZero=true --bail",
    "test": "mocha \"*/*.spec.js\" --reporter mocha-allure-reporter --reporter-options reportJSONFilename=beesConsole,processAlwaysExitWithZero=true ",
    "paralleltest": "macaca-mocha-parallel-tests \"!(node_modules)/**/*.spec.js\" --reporter macaca-reporter --reporter-options reportJSONFilename=index,processAlwaysExitWithZero=true --max-parallel 5 --bail",
    "moduletest": "macaca-mocha-parallel-tests --reporter macaca-reporter --reporter-options reportJSONFilename=index,processAlwaysExitWithZero=true --max-parallel 5 --bail"
  },
  "author": ""
}

 2. selenium chrome运行环境

容器端口号与配置端口号需要一致

docker run -d \
 --name chrome_headless \
 -p 4444:4444/tcp \
 --user seluser \
 -v /dev/shm:/dev/shm \
 selenium/standalone-chrome:3.141.59-dubnium

config.json

{
    "webdriver": {
        "host": "linux服务器的局域网IP",
        "port": "4444",
        "chromeOptions": {
            "w3c": false
        },
        "browsers": "chrome"
    },
    "vars": {},
    "reporter": {
        "distDir": ""
    },
    "screenshots": {
        "captureAll": true
    },
    "recorder": {
        "pathAttrs": "data-id,data-name,type,data-type,role,data-role,data-value",
        "attrValueBlack": "",
        "classValueBlack": "",
        "hideBeforeExpect": ""
    }
}

3. npm运行容器

添加 Dockerfile

FROM node:latest

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

在项目目录下执行命令

docker build -t my-npm:latest .
docker run --rm -v /home/user/ui-automation:/app -d my-npm:latest npm run test

4. allure报告生成

allure generate allure-results --clean -o test-report --clean

5. nginx报告展示

cp -r test-report /path/ti/nginx/www/test-report

可通过链接访问报告 http://服务器IP/test-report/index.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值