Pytest + Selenium + Allure + Jenkins搭建简单自动化框架

1.环境搭建
1.1 安装python,配置环境变量
下载地址:https://www.python.org/downloads/下载需要的版本(3.7以上)
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第1张图片

1.2安装pycharm
下载地址:http://www.jetbrains.com/pycharm/download/
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第2张图片

打开工程目录后,在Settings中添加解释器
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第3张图片
1.3 JDK下载,配置环境变量(allure依赖JDK)

1.4 安装依赖的python库

安装pytest,selenium等库,直接在终端输入命令安装即可:
设置pip下载资源地址: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simpleCD 到对应工程目录下:
安装requirements.txt依赖:pip install -r requirements.txt

1.5 allure下载和配置环境变量

下载地址: https://github.com/allure-framework/allure2/releases,下载完解压即可使用。
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第4张图片

检查是否配置成功
在这里插入图片描述

1.6安装浏览器驱动
火狐驱动下载地址:https://github.com/mozilla/geckodriver/releases
谷歌驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
配置环境变量(或者直接放在python根目录下):
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第5张图片
2.pytest框架

Pytest优点:
①非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
②能够支持简单的单元测试和复杂的功能测试
③支持参数化
④执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败
⑤支持重复执行(rerun)失败的 case
⑥支持运行由 nose, unittest 编写的测试 case
⑦可生成 html 报告
⑧方便的和持续集成工具 jenkins 集成
⑨可支持执行部分用例
⑩具有很多第三方插件,并且可以自定义扩展

2.1 项目结构
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第6张图片

2.2 pytest.ini文件作用
pytest的主配置文件,可以改变pytest的默认行为,放在项目根目录下

addopts作用:addopts参数可以更改默认命令行选项,这个当我们在cmd输入一堆指令去执行用例的时候,就可以用该参数代替了,省去重复性的敲命令工作

pytest默认的测试用例集规则
文件名以 test_*.py 文件和 *test.py
以 test
开头的函数
以 Test 开头的类,不能包含 init 方法
以 test_ 开头的类里面的方法
2.3 运行脚本方法
①命令行执行,进入脚本目录下
执行单个脚本: pytest 脚本名称 执行所有脚本:pytest ./
②pycharm执行
settings里面设置单元测试框架为Pytest
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第7张图片

对应脚本执行运行
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第8张图片

③case_suit + run.py运行
在case_suit中写入要运行的脚本,然后运行run.py
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第9张图片

2.4 pytest常用方法

① @pytest.mark.parametrize 允许在测试函数或类中定义多组参数
格式:@pytest.mark.parametrize(“参数”, [“参数值1”, “参数值2”])

示例:@pytest.mark.parametrize(“url, account, password”, [(“https://mail.qq.com/”,“849662834”,“123456”), (“https://mail.qq.com/”, “123456789”, “123456789”)])

② conftest用法:专门存放fixture的配置文件
conftest.py配置fixture注意事项

pytest会默认读取conftest.py里面的所有fixture
conftest.py 文件名称是固定的,不能改动
conftest.py只对同一个package下的所有测试用例生效
不同目录可以有自己的conftest.py,一个项目中可以有多个conftest.py
测试用例文件中不需要手动import conftest.py,pytest会自动查找

③ fixture
Fixture调用方法: @pytest.fixture(scope = “function”)
可以和@pytest.mark.usefixtures(“fixture函数名”)搭配使用

2.5 allure生成测试报告
Allure生成测试报告:
第一步:生成测试数据,指定–alluredir选项及结果数据保存的目录
命令:pytest 脚本名称 --alluredir ./result/

第二步,生成测试报告页面
通过命令将./result/目录下的测试数据生成测试报告页面
命令:allure generate ./result/ -o ./report/ --clean
–clean选项目的是先清空测试报告目录,再生成新的测试报告

3.Jenkins部署

3.1 新建项目
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第10张图片

3.2 插件安装(根据需要)
Git插件用于拉取仓库代码,allure插件用于生成测试报告

在这里插入图片描述

3.3 添加节点(执行的机器)

Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第11张图片

保存后下载agent.jar包后执行命令即可连接创建的节点机器
在这里插入图片描述

3.4配置项目
添加字符参数作为构建入口
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第12张图片

选中节点和代码远程仓库

Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第13张图片

选择构建方式和添加执行命令
Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第14张图片

添加构建后步骤:生成allure测试报告

Pytest + Selenium + Allure + Jenkins搭建简单自动化框架_第15张图片

注意:需要在general中添加自定义空间(你的工程目录)

你可能感兴趣的:(python,自动化测试,jenkins,python,jenkins,自动化,selenium)