当前位置: 代码迷 >> 综合 >> 持续集成:Appium+Pytest+Allure+Git+Jenkins(Windows )
  详细解决方案

持续集成:Appium+Pytest+Allure+Git+Jenkins(Windows )

热度:92   发布时间:2023-12-07 00:41:24.0
  1. Appium自动化测试框架
  2. Pytest编写测试用例
  3. 配置Github项目地址
  4. 配置Jenkins Salve 节点执行
  5. 对应的执行脚本
  6. 生成测试报告
  7. 发送测试信息

脚本需要
运行环境:

  • Appium
  • python3
  • pytest
  • git

Appium自动化测试框架

配置文件:iAppium_python.json

  • 将配置文件复制到本地磁盘的[user.home]目录
    • linux 环境下,将 iAppium_python.json 放到 [HOME] = ~ 目录下
    • windows 环境下,将 iAppium_python.json 放到 [HOMEPATH] = C:\Users\user目录下

Pytest编写测试用例

运行命令:
pytest -v test/cm_test.py --tc-file ./iAppium_python.json --tc-format json

配置Github项目地址

https://github.com/rainbowzhouj/iAppium_python.git

配置Jenkins Salve 节点执行

在Linux服务器上,安装好Jekins后,可以将本机或docker 配置为jenkins的Salve节点。

以将本机(window 系统)配置为Salve 节点 为例:

配置Salve节点

Jenkins主页面->管理 Jenkins
选择 Manage Nodes and Clouds -> 新建节点
名称输入salve,选择Permanent Agent
远程工作目录输入E:\jenkins-slave
启动方式选择Launch agent by connecting it to the master
点击保存
分别点击jenkins-agent.jnlp、agent.jar进行下载
下载后,运行jenkins-agent.jnlp

可能遇到的问题

“provied port:xxx is not reachable”

解决方式:在Linux服务器上,开启相应的端口号,如xxx为50000,则先启用50000端口,再重启防火墙

firewall-cmd --add-port=50000/tcp --permanentfirewall-cmd --reload

Jenkins 与 Github 密钥配对

在Linux上,生成密钥对

ssh-keygen -t rsa -C "rainbowzhouj@gamil.com"
生成公钥和私钥
cat ~/.ssh/id_rsa.pub    发送给github
cat ~/.ssh/id_rsa        写入到jenkins

对应的执行脚本

选择执行windows批处理命令

cd /d C:\Users\user\PycharmProjects\iSelenium_Python
pip3.9 install -r requirements.txt
pytest -v test/cm_test.py --tc-file ./iAppium_python.json --tc-format json --alluredir "E:\jenkins-slave\workspace\test-appium\allure-results" -clean

cd 切换到相应的目录
pip3.9 安装相应的依赖包
pytest 执行自动化测试命令
–alluredir 指定生成Allure的目录

生成测试报告

Jenkins上安装Allure插件
Linux服务器上安装allure commandline
指定相应生成的allure-results

可能遇到的问题

打开allure 报告,显示无数据
查看控制台输出 “allure-results does not exist”

解决方式:将–alluredir 后面的参数与
工作目录设置为一致,如在配置results目录时,加上项目文件名

发送测试信息

邮件通知

安装邮件插件
配置相应的smtp

  相关解决方案