本篇文章给大家谈谈pytest接口自动化测试框架设计,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享pytest接口自动化测试框架设计的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
Pytest测试框架知识
pytest是一个非常成熟pytest接口自动化测试框架设计的全功能的Python测试框架,主要有以下几个特点pytest接口自动化测试框架设计:
1.简单灵活,容易上手
2.支持参数化
3.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)
4.pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等
5.测试用例的skip和xfail处理
6.可以很好的和jenkins集成
7.report框架----allure 也支持pytest接口自动化测试框架设计了pytest
使用命令
查看是否安装成功及安装的版本信息
pytest官方文档pytest接口自动化测试框架设计:
注意pytest有如下约束:
1、测试模块文件(.py文件)命名应该以 test_开头或者以_test结尾。
2、测试类命名应当以Test开头。表示一个项目或者一个模块的用例集合
3、测试用例(函数)命名,测试函数的方法命名应该以test_开头。
注意 :测试类的不应该有构造函数,也就是不能有 __init__ 出现
案例新建一个python文件,命名为:test_example1:
执行后,可以看到,运行了test_example1文件下Test_Login测试类和Test_Login2测试类中的三个测试用例
参数详解:
-s: 表示输出调试信息,包括print打印的信息
-v: 显示更详细的信息
-vs: 两个参数一起用
-n: 支持多线程或分布式运行用例
-return NUM: 失败用例重跑,num失败后重跑的次数
-x: 表示只要有一个用例报错,那么测试停止
--maxfall=2 : 出现两个用例失败就停止
-k: 根据测试用例的步伐字符串指定测试用例
如:pytest -vs ./testcase -k "ao"
--html ./report/report.html : 会在之指定路径下生成html的报告
pytest.ini这个文件它是pytest单元测试框架的核心配置文件
1、位置:一般放在项目的跟目录下
2、编码:必须是ANSI,可以使用notpad++修改编码格式
3、作用:改变pytest默认的行为
4、运行规则:不管是主函数的模式运行,命令模式运行,都会去读取这个配置文件
unittes框架 :是根据ASCII的大小来决定执行的顺序
pytest框架:默认从上到下
怎么做接口自动化的?
怎么做接口自动化的?
通过pytest+request+allure框架实现接口自动化,然后利用csv/xml等参数化数据信息,使业务与数据分离,并且编写脚本获取文本中的接口信息(url,参数,请求方式,,,,,),然后通过使用request模拟请求(get/post),传递获取的的参数信息(url,请求参数),得到响应数据(状态码/文本信息...),最后使用pytest单元测试框架添加断言,结合allure生成可视化测试报告
接口自动化测试怎么做的
了解了接口测试是什么之后
pytest接口自动化测试框架设计,怎么做接口测试呢?接口测试的流程其实和功能测试流程类似
pytest接口自动化测试框架设计:接口测试计划-接口测试用例-接口测试执行-接口测试报告。测试用例设计的依赖对象主要是需求说明书和接口文档。
接口测试因其不是针对普通用户,而是针对的另外一个系统组件,所以不能直接测试,需要使用工具测试,比如服务端http接口测试,常用的工具有jmeter、postman、httpclient等。用工具测试,所以目标就是准备要测试数据测试脚本后直接执行即可, 在进行测试执行编写时,有如下的原则:
1.不同的接口参数覆盖不同的业务场景;
2.在后台构造合适的数据来满足接口的测试用例;
3.根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
4.测试用例涉及多个步骤的,应对涉及的步骤都验证;
5.删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境
python接口自动化-pytest-依赖测试
我们在接口自动化过程中,总会存在依赖性较强的场景,比如批价-下单-支付,具备强依赖关系,这个时候就用到了依赖测试。
参考 https://blog.csdn.net/dingding_ting/article/details/117200319
在test_01函数前我们加上了@pytest.mark.dependency(),
在test_02函数前也写了@pytest.mark.dependency(depends=["test_01"])
在类中执行,不能直接写方法名,需要加上类名::方法名或者别名
在test_01函数前我们加上了@pytest.mark.dependency(),
在test_02函数前也写了@pytest.mark.dependency(depends=["类名::test_01"])
(1)class
作用于所属的类,外部类不会被关联
@pytest.mark.dependency(depends=["test_01"],scope="class")
(2)module
默认参数是’module’,作用于当前文件。只会查找当前文件的符合条件的文件名,类里同名的方法不会被依赖。
@pytest.mark.dependency(depends=["test_01"],scope="module")
(3)package
作用于当前目录同级的依赖函数,跨目录无法找到依赖的函数。
例如在dep2目录下,创建了test_dep_01.py和test_dep_02.py
@pytest.mark.dependency(depends=[" xxx.py ::类名::test_01"],scope="package")
(4)session
作用域全局,可跨目录调用。但被依赖的用例必须先执行
@pytest.mark.dependency(depends=["xx/ xx.py ::类名::test_01"],scope="session")
支持直接在类名上方添加,那么类下面所有方法都不执行
比如:依赖用例1满足条件(学员详情列表有数据),再执行用例2(检查学习进度)
比如:依赖用例1满足条件(学习进度100%),再执行用例2(新建完成课程的标签)
python自动化测试框架有哪些
第一种:Robot Framework
作为最重要的python测试框架之一,Robot Framework主要被用在测试驱动类型的开发与验收中。虽然由python开发而来,但是它也可以在基于.net的Ironpython和基于Java的Jython上运行。同时,作为一个python框架,Robot还能够兼容诸如Windows、MacOS、Linux等平台。
在使用Robot Framework之前,需要先安装python2.7.14及以上版本,在这里推荐大家使用python3.6.4,以确保适当的注解能够被添加到代码段中,并能够跟踪程序的更改,同时,您还需要安装python包管理器--pip。
第二种:Pytest
适用于多种软件测试的Pytest,是另一个python类型的自动化测试框架。凭借着开源和易学的特点,该工具经常被QA团体、开发团体、个人团体以及各种开源项目所使用。鉴于Pytest具有断言重写之类的实用功能,许多大型互联网应用,如Dropbox、Mozilla,都已经从下面将要提到的unittest切换到了Pytest之上。
除了基本的python知识,用户并不需要更多的技术储备。另外,用户只需要有一台带有命令行界面的测试设备,并且安装好了python包管理器以及可用于开发的IDE工具。
第三种:UnitTest/PyUnit
受到Junit启发的UnitTest/PyUnit,也是一种标准化的针对单元测试的python类自动化测试框架。它的基类TestCase提供了各种断言方法、以及所有清理和设置的例程。因此,TestCase子类中的每一种方法都是以test作为名词点缀,以标识它们能够被作为测试用例所运行。用户可以使用load方法和TestSuite类来分组、并加载各种测试。当然,也可以通过联合使用,来构建自定义的测试运行器。正如我们使用Junit去测试Selenium那样,UnitTest也会用到unittest-sml-reporting,并能生成各种XML类型的报告。
第四种:Behave
行为驱动开发是一种基于敏捷软件开发的方法。它能够鼓励开发人员、业务参与者和QA人员,三者之间的协作。python测试框架Behave允许团队避开各种复杂的情况,去执行BDD测试。从本质上说该框架与SpecFlow和Cucumber相似,常被用于执行自动化测试。用户可以通过简单易读的语言来编写测试用例,并能够在其执行期间粘贴到代码之中。而且,那些被设定的行为规范与步骤,也可以被重用到其他的测试方案中。
第五种:Lettuce
Lettuce是另一种基于Cucumber和python的行为驱动类自动化工具。Lettuce主要专注于那些具有行为驱动开发特性的普通任务。它不但简单易用,而且能够使得整个测试过程更流畅、甚至更有趣。
您需要安装带有IDE的python2.7.14及以上版本。当然,您也可以使用pycharm或任何其他IDE工具。同时,您还需要安装python包管理器。
关于pytest接口自动化测试框架设计和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
pytest接口自动化测试框架设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、pytest接口自动化测试框架设计的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~