Pytes是 一个单元测试框架,可以生成html报告。

不要点击:https://item.taobao.com/item.htm?id=613711271112

安装pytest和allure:pip install pytest   :  pip install allure-pytest

pytest生成报告的插件:pip install pytest-html

#卸载
# pip uninstall pytest
#安装
# pip install -U pytest
# 查看
# pytest --version
2、===========================
2、pytest的运行“”(文件名是login.py)

import pytest
import allure
def test_login():
print("正在登录")
if __name__ == "__main__":
pytest.main("-s login.py")
#命令行(用的多,要进入当前文件夹的目录运行保险):pytest -s xxx.py
#如何快速打开当前项目目录?
#控制台下方有一个terminal的打开即可
 3、pytest配置文件ini文件:pytest.ini (必须在同一字执行目录下 )
[pytest]
#添加参数
addopts = -s
#搜索那个文件夹
testpaths = ./app1
#文件
python_files = test_*.py
#类名
python_classes = Test*
#函数名
python_functions = test_*

4、生成测试报告html,命令行输入:pytest --html=report/report.html
生成report文件夹下reporr.htmld报告
修改pytest配置文件:pytest.ini (必须在同一字执行目录下 )
[pytest]
#添加命令参数
addopts = -s --html=report/report.html
#搜索那个文件夹
testpaths = ./scripts
#搜索文件名
python_files =test_*.py
#类名
python_classes = Test*
#函数名
python_functions = test_*

配置文件弄好了就可以在 命令行输入pytest就可以执行所以报告而且自动生成html报告

(用例和报告 文件夹必须分开)

 5、_pycache_出错
只要是复制过来的文件都可能自动生成_pycache_文件,执行pytest时会报错_pycache_
把_pycache_文件删掉即可。
6、控制函数顺序@pytest.mark.run(order=XX)
@pytest.mark.run(order=1)
@pytest.mark.run(order=3)
@pytest.mark.run(order=2)
顺序123.
执行优先级:
0>较小的正数>较大的正数>无标记>较小的负数>较大的负数。如图:

7跳过函数@pytest.mark.skipif(True,reason="done")

(和顺序函数一样,必须先导入 import pytest)

@pytest.mark.skipif(True,reason="done")

8、失败重试10次:在配置文件后面加10

[pytest]
#添加命令参数
addopts = -s --html=report/report.html --reruns 10
#搜索那个文件夹
testpaths = ./scripts
#搜索文件名
python_files =test_*.py
#类名
python_classes = test*
#函数名
python_functions = test_*
如图所示:

9、预期结果:

#写True表示预期是False,假,失败

@pytest.mark.xfail(True,reason="")

#写False表示预期是True,真,成功

@pytest.mark.xfail(False,reason="")

如图:

10、参数化:

keys是参数名,1和2是参数值

@pytest.mark.parametrize("keys",["1","2"])

如图所示:

11、多个参数化

@pytest.mark.parametrize(("username","password"),[("zhangsan","123"),("lisi","456")])

12、封装前置代码:

from appium import webdriver
def int_driver():
    #设置参数
desired_caps = {}
desired_caps['platformName'] = 'Android' # Android系统 or IOS系统
desired_caps['platformVersion'] = '5.1' # Android系统版本
desired_caps['deviceName'] = '1' # (安卓随便写,苹果的写系统的型号)
desired_caps['appPackage'] = 'com.android.settings' # APP夜神模拟器包名
desired_caps['appActivity'] = '.Settings' # APP启动Activity
# 解决中文不能输入问题
desired_caps['unicodeKeyboard'] = True # 每次打开APP不开启重置,否则每次都进入四个欢迎页
desired_caps['resetKeyboard'] = True # 隐藏键盘
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 启动APP
return driver
self.driver = init_driver()  #在另一文件里调用此方法
#以下是解决用pytest执行报错的方法:需要导入os 和sys 模块
import os,sys
sys.path.append((os.getcwd()))

12、测试脚本分离技术




 

Pytest安装介绍--使用(html报告)的更多相关文章

  1. Pytest框架介绍

    Pytest框架介绍.安装 pytest是python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,功能更强大 pytest特征 1:断言提示信 ...

  2. Redis安装介绍

    Redis安装介绍 一.Linux版本及配置 1.  Linux版本:Red Hat Enterprise Linux 6虚拟机 2.  配置: 内存:1G:CPU:1核:硬盘:20G 二.Redis ...

  3. Docker版本与安装介绍

    Docker版本与安装介绍 Docker-CE 和 Docker-EE Centos 上安装 Docker-CE Ubuntu 上安装 Docker-CE Docker-CE和Docker-EE Do ...

  4. 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装

    三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308   开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1. ...

  5. iOS自动化探索(四)自动化测试框架pytest - 安装和使用

    自动化测试框架 - pytest pytest是Python最流行的单元测试框架之一, 帮助更便捷的编写测试脚本, 并支持多种功能复杂的测试场景, 能用来做app测试也能用作函数测试 官方文档: ht ...

  6. Docker版本与centos和ubuntu环境下docker安装介绍

    # Docker版本与安装介绍 * Docker-CE 和 Docker-EE * Centos 上安装 Docker-CE * Ubuntu 上安装 Docker-CE ## Docker-CE和D ...

  7. Pytest测试框架(一):pytest安装及用例执行

    PyTest是基于Python的开源测试框架,语法简单易用,有大量的插件,功能非常多.自动检测测试用例,支持参数化,跳过特定用例,失败重试等功能. 安装 pip install -U pytest  ...

  8. 一、pytest的介绍和安装

    需要针对一个项目系统开发一套UI自动化测试脚本,自己结合着学习,采用了pytest去实现,这里留下记录. 什么是pytest pytest 是一个非常成熟的全功能的Python测试框架 可以胜任uni ...

  9. pytest一:pytest 框架介绍

    pytest 是 python 的一种单元测试框架,与python 自带的 unittest测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高.根据pytest 的官方网站介绍,它具 ...

随机推荐

  1. 网易云课堂_C++程序设计入门(下)_第8单元:年年岁岁花相似– 运算符重载_第8单元 - 作业2:OJ编程 - 重载数组下标运算符

    第8单元 - 作业2:OJ编程 - 重载数组下标运算符 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...

  2. 查询oracle中所有用户信息 禁用用户

    ----查询oracle中所有用户信息 ----1.查询数据库中的表空间名称 ----1)查询所有表空间 select tablespace_name from dba_tablespaces; se ...

  3. Django 基于角色的权限控制

    有一种场景, 要求为用户赋予一个角色, 基于角色(比如后管理员,总编, 编辑), 用户拥有相应的权限(比如管理员拥有所有权限, 总编可以增删改查, 编辑只能增改, 有些页面的按钮也只有某些角色才能查看 ...

  4. [转帖]22款让Kubernetes锦上添花的开源工具

    22款让Kubernetes锦上添花的开源工具 http://soft.zhiding.cn/software_zone/2019/0506/3117650.shtml 找时间尝试一下. 至顶网软件频 ...

  5. mysql定时任务/mysql作业

    转自:https://www.jb51.net/article/138569.htm 详细参考:https://www.cnblogs.com/qlqwjy/p/7954175.html(事件& ...

  6. Java8---函数式编程-示例

    // Java8函数式编程示例—(Predicate.Stream.Optional) https://blog.csdn.net/weixin_41950473/article/details/84 ...

  7. P1067多项式输出

    这道题是2009普及组的题,仍然是一个字符串+模拟.(蒻到先不刷算法) 这道题的题干给了很多的提示,也很全面,但是当我把种种情况都考虑到了后,在写代码的过程中仍然出现了很多的错误,wa了三四次.其实导 ...

  8. TMS320F28335——IO控制/定时计操作

    一.实现GPIO控制 1.硬件连接 从电路原理图上看来,LED灯是接在GPIO34 上的. 2.IO设置 2.1设置功能 GPXMUX1/2:功能选择寄存器 GPXMUX1/2    每组 IO 一般 ...

  9. 小程序之如和使用view内部组件来进行页面的排版功能

    这篇文章主要介绍了关于小程序之如和使用view内部组件来进行页面的排版功能,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 涉及知识点: 1.垂直排列,水平排列 2.居中对齐 示例: 1 ...

  10. 神经网络之:S型神经元

    1.S 型神经元和感知器类似,但是被修改为权重和偏置的微小改动只引起输出的微小变化 2.S型神经元结构: S型函数: 带有x1,x2,........,权重w1,w2.....,和偏置b的S型神经元的 ...