1.环境搭建
1.1 安装python,配置环境变量
下载地址:https://www.python.org/downloads/下载需要的版本(3.7以上)

1.2安装pycharm
下载地址:http://www.jetbrains.com/pycharm/download/

打开工程目录后,在Settings中添加解释器

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,下载完解压即可使用。

检查是否配置成功

1.6安装浏览器驱动
火狐驱动下载地址:https://github.com/mozilla/geckodriver/releases
谷歌驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
配置环境变量(或者直接放在python根目录下):

2.pytest框架

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

2.1 项目结构

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

对应脚本执行运行

③case_suit + run.py运行
在case_suit中写入要运行的脚本,然后运行run.py

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 新建项目

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

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

保存后下载agent.jar包后执行命令即可连接创建的节点机器

3.4配置项目
添加字符参数作为构建入口

选中节点和代码远程仓库

选择构建方式和添加执行命令

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

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

Pytest + Selenium + Allure + Jenkins搭建简单自动化框架相关推荐

  1. python 自动化框架_学会Python+Selenium,分分钟搭建Web自动化框架!

    用python+selenium实现UI自动化测试,要有一些HTML和xpth的基础,当然python基础一定是必须要会的.笔者建议花点时间了解下相关基础知识,不至于后面发懵. 一.什么是seleni ...

  2. python selenium 获取元素下的元素个数_Python + Selenium,分分钟搭建 Web 自动化框架!(送自动化测试书籍)...

    前言 在程序员的世界中,一切重复性的工作,都应该通过程序自动执行.「自动化测试」就是一个最好的例子.随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的 ...

  3. Java+Rest-Assrued+Gradle+Allure搭建接口测试自动化框架

    背景 上一篇<4个步骤,搭建接口测试自动化框架>我分享了如何搭建接口测试自动化框架的理论部分,今天我们就利用Java+Rest-Assrued+Gradle+Allure来搭建一个完整的接 ...

  4. 接口自动化 ------ 快速搭建接口自动化框架

    接口自动化框架要搭成什么,里面的内容究竟应该有多少? 这个问题没有标准答案,因为这要取决于你的项目,以及你想要用框架来解决什么问题等多种因素. 当然了,这里也就不展开讨论了,还是回到接口自动化这个点, ...

  5. python(十二)Uiautomator2搭建UI自动化框架实战

    前言 由于公司UI自动化框架底层用的是Uiautomator2,所以我就用Uiautomator2搭了一套UI自动化框架,并运用某软件做了一个实战,思路其实和之前写的Appnium一样的 ps:这里其 ...

  6. 4个步骤,搭建接口测试自动化框架

    背景 在上一篇文章中,我们回顾了当前主流的几种接口测试自动化框架.今天将分享如何通过4个步骤,自己搭建一套完整的接口测试自动化框架. 搭建框架四部曲 框架的第一步 搭建框架的第一步是根据我们选择的自动 ...

  7. 从零开始搭建一个简单的ui自动化测试框架02(pytest+selenium+allure)

    二.先搭一个架子 在我还是小白连py语法都不太熟悉的时候,经常在网上看关于自学ui自动化测试的博客,最熟悉的套路莫过于先给你介绍一下selenium的各个api,然后写一套代码去登陆微博或者百度什么的 ...

  8. python自动化框架pytest接口关联串联_python(pytest)+allure+jenkins 实现接口自动化的思路...

    ABZ理论 前言 身为著名的创业者+投资人,LinkedIn和Paypal的联合创始人Reid Hoffman有一个令我印象深刻的ABZ理论,他认为,你在任何时刻,手中都需要有三个计划:A计划.B计划 ...

  9. jenkins+python+git自动化测试框架_使用jenkins + python + selenium一步步搭建web自动化测试“框架”(1) - 各部件简介...

    原先搭建过一个自动化测试框架,迷迷糊糊不求甚解,算是搭建了一个仅限于能用的.根本算不上框架的玩意儿. 现在回过头来好好看看究竟每一步是怎么联系起来的,是怎么运行起来的. 本次博客先说说各部件都是干什么 ...

最新文章

  1. 【原创】leetCodeOj ---Convert Sorted List to Binary Search Tree 解题报告
  2. 2.UiSelector API 详细介绍
  3. 【2016年第4期】经济发展的顶层设计 企业战略的终极蓝图—— 产业互联网
  4. 训练第一个机器学习模型
  5. 中国数码相机镜头行业市场供需与战略研究报告
  6. 6 Linux之bash环境配置
  7. 虚拟机中centos7 安装过程中没有自动获取到网络
  8. 【转】数字图像处理课件-艾海舟
  9. 十进制转十二进制-复试练习
  10. 推荐10个程序员常去的网站
  11. 打印机脱机了怎么恢复打印
  12. python实现函数的最佳平方逼近
  13. 【问题解决】Ubuntu无法进入图形页面,全屏出现OK,而且屏幕不停闪烁
  14. hbase实战 与mysql_HBase实战系列1—压缩与编码技术
  15. 【小5聊】纯javascript实现图片放大镜效果
  16. Embedded Linux S3C2440 Profiling
  17. Cocos2d-x 屏幕适配
  18. 将递归算法改为非递归算法
  19. BugReport:前端不能成功解析后端信息造成消息阻塞问题
  20. 【手把手带你Godot游戏开发】FlappyBird:9.2 天下没有不OVER的GAME(下)

热门文章

  1. 改进Yolov5 | 用 GSConv+Slim Neck 一步步把 Yolov5 提升到极致!!!
  2. 清华深圳计算机科学,江勇(清华大学深圳研究生院教授)_百度百科
  3. wsappx关不掉_wsappx是什么进程?wsappx占用cpu磁盘过高可以关闭吗?
  4. 世界坐标系/相机坐标系/图像坐标系 转换
  5. STM32-F407入门学习专题(四) STM32外设之USART
  6. Java中不定项参数(可变参数)的作用和使用方式
  7. bert 文本分类实战
  8. 嵌入式linux cdc类 usb4G网卡调试记录
  9. 基于BS的校园招聘网站
  10. 嵌入式实践教程--设备树下的I2C驱动开发