1.概述

selenium:

基于JavaScript代码库的自动化测试框架,通过脚本语言,模拟用户行为操作,最接近用户真实场景,实现对web自动测试。

Selenium,是目前的最火爆企业最主流的webUI自动化框架

pytest:

pytest是一个非常成熟的全功能的Python测试框架,是unittest框架的扩展,主要特点有以下几点:

 1、简单灵活,非常方便的组织自动化测试用例;

 2、支持参数化,可以细粒度地控制要测试的测试用例;

 3、能够支持简单的单元测试和复杂的功能测试,比如web端selenium/移动端appnium等自动化测试、request接口自动化测试

 4、pytest具有很多第三方插件,并且可以自定义扩展,比如测试报告生成,失败重运行机制

 5、测试用例的skip和fail处理;

 6、结合业界最美的测试报告allure+Jenkins,持续集成

2.环境搭建

pip install -U pytest

pytest-xdist #多线程

pip install -U pytest-rerunfailures #重试运行cases

pip install pytest-html #生成测试报告

pytest --version # 会展示当前已安装版本

3.编写规则

编写pytest测试样例非常简单,只需要按照下面的规则:

 测试文件以test_开头(以test结尾也可以)

 测试类以Test开头,并且不能带有 init 方法

 测试函数以test开头

 断言使用基本的assert即可

4.selenium+pytest案例实操

import pytest # 引入pytest包

def test_a(): # test开头的测试函数

print("------->test_a")

assert 1 # 断言成功

def test_b():

print("------->test_b")

assert 0 # 断言失败

if name == 'main':

pytest.main(['-s', 'class01.py'])

可以包含一个或多个Test开头的测试类,test_开头的函数

1.测试类主函数模式

pytest.main(['-s', 'test.py'])

2.命令行模式运行

pytest 文件路径/测试文件名

5. 扩展插件

5.1. 测试报告: pytest-html

pytest.main(['-s','test.py','--html=./report/result.html'])

:表示当前路径下生成report文件夹,result.html文件

5.2 批量运行用例:pytest-xdist

pytest.main(['-s','test.py','--html=./report/result.html','-n=2'])

-n=2 表示2个线程并发运行所有的测试用例

5.3 allure测试报告:allure-pytest

运行用例:pytest.main(['-s', '-q', '--alluredir', './report/xml'])

pytest 测试目标文件 --alluredir 数据目录

运行后的结果,是生成xml的数据集合

生成报告:allure generate --clean ./report/xml/ -o ./results/html/

第一个是数据集目录,第二个是生成报告目录

-o是指向目标生成测试报告的目录;

6.conftest配置

当自动化用例越来越庞大的时候,很多用例的数据可以共享,复用,让用例脚本可读性,维护性更高,比如登录等

conftest.py 配置里可以实现数据共享,比如py跨文件共享前置

conftest.py配置脚本名称是固定的,不能改名称

不需要import导入 conftest.py,pytest用例会自动查找

自从使用了pytest框架,爱了爱了,深深的感受到它的可扩展性和灵活性,老板再也不用担心我的自动化效率低

原创不易,燃烧秀发输出内容,如果有一丢丢收获,点个赞鼓励一下吧!

整理了一份216页软件测试大厂面试题,以及2020推荐最新的简历模板,送给小伙伴们,关注公众号程序员一凡回复【简历】自行领取,和一些小伙伴建立一个技术交流群,一起探讨技术,分享技术资料,旨在共同学习进步,如果感兴趣就加入我们吧!

python自动化框架测试实操_自动化框架之 python+selenium+pytest相关推荐

  1. 全国Python科研应用专题实操培训班

    Python是一门简单的.解释型的.交互式的.可移植的.面向对象的编程语言.由于其语法简洁清晰,支持命令式编程.函数式编程,完全支持面向对象程序设计,近来在大数据分析与处理.深度学习.科学计算可视化及 ...

  2. 全国Python科研应用专题实操培训班通知

    Python是一门简单的.解释型的.交互式的.可移植的.面向对象的编程语言.由于其语法简洁清晰,支持命令式编程.函数式编程,完全支持面向对象程序设计,近来在大数据分析与处理.深度学习.科学计算可视化及 ...

  3. python第三章实操作业

    python第三章实操作业 1.画出代码 a = [100,200,300]的内存存储示意图. 2.使用 range 生成序列:30,40,50,60,70,80 3.推导式生成列表: a = [x* ...

  4. atom配置python环境_用Python制作网站Django实操与开发环境配置

    上篇文章简单介绍了Django的基础知识,本篇将进入实际操作部分,包括Django的运行环境.开发环境配置与新建项目等内容.由于篇幅原因,笔者不得不把Demo演示放到下一篇文章,望读者(如果有的话)见 ...

  5. Python青少年等级考试实操题(二级)

    //202103 1.实操题: 设计一个停车场收费计算器(收费规则,2小时以内收费5元,超出部分每小时加收2元), 要求如下: (1) 设计的程序要能输入停车时间(单位为小时,输入的小时数为整数): ...

  6. huggingface实操_盘点2018年度GtiHub开源项目TOP 25

    本文作者 Pranav Dar 是 Analytics Vidhya 的编辑,对数据科学和机器学习有较深入的研究和简介,致力于为使用机器学习和人工智能推动人类进步找到新途径.2018 这一年中,作者在 ...

  7. 【Python基础】Matplotlib 实操干货,38个案例带你从入门到进阶!

    译文出品:Python数据之道 原文作者:Rizky Maulana Nurhidayat 翻译:Lemon Matplotlib 实操干货, 38个案例带你从入门到进阶! 「Python数据之道」注 ...

  8. AliExpress绑定万事达虚拟信用卡(Mastercard)测试实操教程

    一.AliExpress(速卖通)绑定万事达虚拟信用卡(astercard)测试环境 1.新注册的速卖通帐号 2.手机,用的是安卓系统 3.谷歌浏览器 4.测试所用虚拟信用卡卡段557271,可以自定 ...

  9. 产品必备技能(二):尼尔森原则-产品体验框架,实操使用以尼尔森十大可用性原则体验产品

    文章目录 产品体验目标 尼尔森原则-体验框架 体验原则1:状态可见原则 体验原则2:环境贴切原则 体验原则3:用户可控原则 体验原则4:一致性原则 体验原则5:错误预防原则 体验原则6:识别好过记忆 ...

最新文章

  1. html自定义datajs,科技常识:HTML5的自定义属性data-*详细介绍和JS操作实例
  2. 全方位讲解硬件防火墙的选择
  3. linux script $,linux的script命令
  4. (转)start_kernel 代码分析
  5. 【转】节点预测与边预测任务实践
  6. oracle恢复drop建的表首次,案例:Oracle dul数据挖掘 没有备份情况下非常规恢复drop删除的数据表...
  7. Pandas列小数转化为百分数
  8. 7-34 红色警报 (10 分)(结构体并查集)
  9. 编译“have the same erasure, yet neither overrides“
  10. 求解偏微分方程开源有限元软件deal.II学习--Step 9
  11. MySQL显示连接的数据库名
  12. win10必须禁用的服务_Win10系统中这3个无用的设置,奉劝你还是早点关闭吧
  13. 进程间通信之命名管道(完成一个类似QQ的聊天应用)
  14. as_completed函数用例
  15. 2020.7.18 T3Ocd(jz暑假训练day4)
  16. 双十一回血,2222红包送给大家!
  17. MarkdownPad 2的安装、配置、优化,自定义样式、生成目录,解决win10渲染错误等
  18. Preparing: insert into user(uuid,username,gender,age,phone,address) values(?,?,?,?,?,?,?)
  19. 【C语言】你还不会指针吗?不妨来一起攻克指针这个难点
  20. 降维算法总结(超全!附代码)

热门文章

  1. Singularity 介绍
  2. 一段按页自动滚动文字或图片的Js代码
  3. Java删除list
  4. 宝塔nginx运行vue项目刷新404问题解决
  5. mac通过homebrew安装opensdk11
  6. vue图片查看控件v-viewer使用
  7. 计算机软件总体上分为,山大2017春季班期末考试 信息系统B
  8. java solr_通过Java访问Solr服务实例及相关配置
  9. 输入字符串统计字符串中每个字符出现的次数
  10. 《深入理解Java虚拟机》读书笔记一