10 2021 档案
摘要:allure使用步骤如下: 一、通过DOS窗口命令生成allure测试报告: 1、在命令模式下中切换到pytest测试用例路径下,执行命令:py.test测试文件--alluredir=报告路径,生成xml报告 2、在命令模式下执行命令:allure generate xml报告路径 -o html
阅读全文
摘要:allure测试报告: allure是一款开源的,专门用来展示测试结果的一个工具,allure可以与很多的测试框架做集成,比如:java的Junit、TestNG,python的pytest等 allure会将测试用例的执行数据保存到json文件中去,再利用allure的命令行将文件转换成HTML形
阅读全文
摘要:测试报告概述: pytest执行完测试用例之后,可以通过多种方式展示测试结果 1、生成ResultLog文件: 在命令模式下中切换到pytest测试用例路径下,执行命令:pytest测试文件 --resultlog=./log.txt(不推荐使用) 2、生成JunitXML文件: 在命令模式下中切换
阅读全文
摘要:测试用例跳过: 在实际工作中,经常需要跳过某个测试用例,比如现阶段某个功能还没有开发完毕,但是先把测试用例写到了pytest中,因此需要先把这个测试用例给跳过。 可以使用如下方式跳过用例: 1、使用@pytest.mark.skip(self,reason=None):在要跳过的测试用例前加入该标签
阅读全文
摘要:设置测试用例执行顺序: 默认情况下,pytest测试用例的执行顺序是先按照外层后内层(目录下的文件),同层级的包或文件 根据名称 按照 ascii码升序执行,文件内的用例根据先后顺序执行 如果想自定义pytest测试用例的执行顺序,可以通过多种方式实现,常用的方法有: 1、利用pytest_orde
阅读全文
摘要:用例执行状态: 用例执行完成后,每条用例都有自己的状态,常见的状态有 passed:测试通过 failed:断言失败 error:用例本身写的质量不行,本身代码报错(譬如:fixture不存在,fixture里面有报错) xfail:预期失败,加了 @pytest.mark.xfail()
阅读全文
摘要:pytest中的mark: mark主要用于在测试用例/测试类中给用例打标记(只能使用已注册的标记名),实现测试分组功能,并能和其它插件配合设置测试方法执行顺序等。 如下图,现在需要只执行红色部分的测试方法,其它方法不执行: 设置步骤如下: 1、注册标签名,通过pytest.ini配置文件注册;2、
阅读全文
摘要:https 请求证书验证: 在对https 接口进行测试时如果请求经过代理则可能会有certificate verify failed 的报错,原因是request 模块发送请求函数有个参数verify 值默认为True. 使用httprunner 则可在用例yml 或json 文件中将config
阅读全文
摘要:httprunner设置代理: httprunner 库本身没有提供设置代理的接口,但是底层使用了urllib.requests 等库,可以设置HTTP_PROXY 和HTTPS_PROXY 环境变量,常用的网络库会自动识别这些环境变量。 日常调试使用代理(如charles 等工具)可在debugt
阅读全文
摘要:httprunner运行方式: httprunner在进行接口测试的时候,有两种运行方式 方式一:通过命令行(CLI)运行,核心命令如下 hrun:httprunner的缩写,功能与httprunner完全相同 例:hrun ./项目文件的路径 、httprunner ./项目文件的路径 locus
阅读全文
摘要:脚手架工具使用: 每一个成熟的系统工具,都会有对应的脚手架工具,它可以快速构建项目的必要目录,不必自己一个一个的配置与搭建,只需要执行一些命令即可。 httprunner也提供了脚手架工具,使用步骤如下: 1、在命令模式下输入hrun --startproject 项目名称 2、使用pycharm打
阅读全文
摘要:录制工具使用: 为了简化测试用例的编写工作,HttpRunner实现了测试用例生成的功能,对应的转换工具为一个独立的项目:har2case 使用操作步骤:1、通过抓包工具获取HAR格式的数据包2、通过命令har2case har的数据包路径 -2y或--to-yml 转为yml文件,默认转为json
阅读全文
摘要:单个用例重复执行 如果想让某个测试步骤重复执行,可以在test 中增加times参数,如下: 执行效果:
阅读全文
摘要:conftest.py文件: pytest中的fixture是pytest用于将测试前后进行预备,清理工作的代码分离出核心测试逻辑的一种机制。但是我们更加希望的是在一个测试套件中,能够共享fixture的机制,这样一个测试套件里面的所有测试点都能够共同使用。 conftest.py 配置里可以实现数
阅读全文
摘要:pytest中的fixture: fixture是pytest特有的功能,它用pytest.fixture标识,定义在函数前面。fixture有明确的名字,在其他函数,模块,类或整个工程调用它时会被激活。fixture是基于模块来执行的,每个fixture的名字就可以触发一个fixture的函数,它
阅读全文
摘要:pytest测试用例编写规则: 1、测试文件以test_开头(以_test结尾也可以) 2、测试类以Test开头,并且不能带有__init__方法 3、测试函数以test_开头 4、断言必须使用assert 测试文件和测试函数的演示如下: 测试类的演示如下: pytest.main() :用来执行测
阅读全文
摘要:pytest简介: pytest是python的第三方单元测试框架,比自带的unittest更简洁和高效,同时兼容unittest框架。 它还有如下优点: 1、简单灵活,容易上手,文档丰富;2、支持参数化,可以细粒度地控制要测试的测试用例;3、能够支持简单的单元测试和复杂的功能测试,还可以用来做 s
阅读全文
摘要:等待机制: 为了保证脚本的稳定性,有时候需要引入等待时间,等待页面加载元素后再进行操作,主要有三种等待时间设置方式。 方式一: sleep():固定等待时间设置,python的time包里提供了休眠方法sleep,导入包后就能使用; sleep()方法以秒为单位,如果超时设置小于1秒,可以使用小数
阅读全文
摘要:手机chrome浏览器操作: 手机端chrome浏览器一般用于打开H5手机版网站,它的操作方式与PC端的浏览器操作(即selenium对浏览器的操作)是一模一样的,由于切换后的WebView页面也属于网页 下述的方法中部分支持在webview页面中使用: 1、get(self,url):打开网站,u
阅读全文
摘要:上下文操作: 在appium中,对于混合应用,需要进行WebView页面和原生应用的切换 常用的方法如下: 1、context(self) / current_context(self):返回当前会话的当前上下文,context可以理解为可进入的窗口。对于原生应用,可用的context和默认cont
阅读全文
摘要:APP操作方法: appium支持对手机上的app进行管理和操作,有如下方法: 1、install_app(self,app_path,**options): 安装app,app_path为安装包路径2、remove_app(self,app_id,**options): 卸载app,app_id为
阅读全文
摘要:参数化实现及重复执行 参数化测试:在接口测试中,为了实现不同组数据对同一个功能模块进行测试,需要准备多组测试数据对模块进行测试的过程。 在httprunner中可以通过如下方式实现参数化: 1、在YAML/JSON 中直接指定参数列表 2、调用debugtalk.py 中自定义的函数生成参数列表 3
阅读全文
摘要:响应中文乱码: 当调用接口,响应正文返回的中文是乱码时,一般是响应正文的编码格式不为 utf-8 导致,此时需要根据实际的编码格式处理 示例: 图1中 extract 提取title标题,output 输出 title 变量值,如下图2可见,输出的变量值成了乱码,图3的报告中可以看到响应的编码为 I
阅读全文

浙公网安备 33010602011771号