接口自动化测试
文章平均质量分 63
接口自动化测试
xiaoli_panpan
一直在找bug的路上
展开
-
安装 allure 时踩到的坑:ERROR: JAVA_HOME is set to an invalid directory
安装 allure 时ERROR: JAVA_HOME is set to an invalid directory: F:\soft\jdk Please set the JAVA_HOME variable in your environment to match the location of your Java installation。这个问题的原因是java环境的环境变量不能运行。也就是在cmd中javac这个命令不能运行。原创 2024-03-28 12:04:18 · 459 阅读 · 0 评论 -
pytest测试框架使用基础08 通过Yaml实现数据驱动
返回yaml文件中所有的yaml文档的对象生成一个迭代器,再使用for打印出来。将一个python对象生成yaml文档,存放再f中。将多个python对象生成yaml文档,存放在f中。作用是将yaml文档转化为python对象。yaml文件小demo:data.yaml。原创 2024-03-12 09:37:23 · 604 阅读 · 0 评论 -
pytest测试框架使用基础07 fixture—parametrize获取参数的几种常用形式
私有数据放在对于的脚本中进行统一维护。– 如果数据种类比较少,不超过5类以上–可以放在一个独立的脚本中,编写DDT的方法即可。– 需要的数据种类非常多,可以分类存放– 建议一个com数据层,创建多个.py文件–数据种类不多,复用性特别高–直接放在conftest.py中一般来说,数据读取的方法和数据文件在相同路径下。原创 2024-03-08 17:48:51 · 1073 阅读 · 0 评论 -
pytest测试框架使用基础06 fixture——parametrize
pytest.mark.parametrize 允许在测试函数或类中定义多组参数和 fixtures。参数化场景:只有测试数据和预期结果不一样,但操作步骤是一样的测试用例是可以用上参数化的。创建test_cases02.py文件可以看到,三个用例都是先计算,然后断言某个值,重复写三个类似的用例有些冗余。2、运行结果:可以看到,只有一条用例,但是利用参数化输入三组不同的测试数据和预期结果,最终执行的测试用例数还是3条,可以节省很多代码。原创 2024-03-07 11:16:22 · 841 阅读 · 0 评论 -
pytest测试框架使用基础05 fixture——params和ids
我们都知道参数化。比如我要测试一个查询接口/test/get_goods_list,这个接口可以查询到商品的信息。在请求中,我可以根据请参数goods_status的不同传值,可以查询到对应状态的商品数据,比如:1-未销售、2-销售中、3-已售罄。那么在编写自动化测试case的时候,在断言里就要分别验证到这3种状态的商品数据。通常,在执行case之前,会去数据库分别插入对应状态的商品数据,来满足测试需求。而在pytest框架中,我喜欢用fixture()去实现测试数据的准备和清理工作。原创 2024-03-06 16:50:26 · 1057 阅读 · 0 评论 -
pytest测试框架使用基础04 fixture用法
虽然类中有2个方法,但fixture的scope是class,因此只执行一次。fixture是pytest用于将测试前后进行预备、清理工作的代码处理机制。可以看到,虽然.py文件下存在一个类和一个函数。但只执行了一次前置操作。三级目录: test_demo02.py。三级目录: test_demo01.py。三级目录: test_demo02.py。二级目录:test_demo.py。二级目录:conftest.py。二级目录: tests。原创 2024-03-05 09:54:06 · 305 阅读 · 0 评论 -
pytest测试框架使用基础03 setUp()和tearDown()
总结:setup()函数表示测试类中每个测试方法执行前都需要执行的操作,teardown()函数表示每个测试方法执行后都需要执行的操作。Pytest框架setUp()函数和tearDown()函数主要分为:模块级,类级,方法级,函数级。Pytest框架也有前置setup()函数和后置teardown()函数,并且还不止四个。模块级与函数级,不定义在测试类中。类级与方法级,定义在类中。原创 2024-02-29 17:02:57 · 773 阅读 · 0 评论 -
pytest测试框架使用基础02
单元测试框架是指在软件开发当中,针对软件的最小单位(函数、方法)进行正确性的检查测试。提高测试效率,降低维护成本减少人工干预、提高测试的准确性,增加代码的重用性核心思想是让不懂代码的人也能够通过这个框架去实现自动化测试1、pytest是一个非常成熟的python单元测试框架,比unittest更灵活、容易上手2、pytest 可以和selenium、request、appium结合实现web自动化、接口自动化、app自动化3、pytest可以实现测试用例的跳过以及 reruns失败用例重试。原创 2024-02-26 20:27:17 · 839 阅读 · 0 评论 -
pytest测试框架使用基础01
简单灵活,容易上手· 支持参数化· 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)· pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等。原创 2024-02-26 11:35:54 · 928 阅读 · 0 评论 -
python-requests库学习笔记03-requests模块Session的简单用法。
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在Session对象中。有关使用Session 对象的详细信息,请参阅“ASP应用程序”部分的“管理会话”。注意会话状态仅在支持cookie的浏览器中保留。原创 2024-02-24 15:28:08 · 490 阅读 · 0 评论 -
python-requests库学习笔记02
requests库调用post方法文件上传接口。原创 2024-02-24 10:42:38 · 308 阅读 · 0 评论 -
python-requests库学习笔记01
requests.request()和session.request()的区别:前者的每个请求都是独立的,后者自动的关联所有请求的cookie信息。re.findall() 通过正则匹配多个值,返回List,通过下标取值,没有匹配到返回None。re.seach() 通过正则匹配一个值,通过下标(1]取值,没有匹配到返回None.jsonpath.jsonpath()返回一个列表,通过下标取值,没有找到返回None.2.通过单独的文件保存中间变量实现接口关联。1.通过类变量保存中间变量实现接口关联。原创 2024-02-23 15:46:49 · 381 阅读 · 0 评论 -
自动化测试——读取配置文件(.ini文件)数据
一、创建配置文件:在当前目录创建一个.ini文件列如:baseCon.ini[db]host = 127.0.0.1port = 3306user = rootpwd = 123456database = lp_cscharset = utf8[test_data]phone = 18888888888pwd = 123456789二、读取配置文件数据在读取配置文件先,现获取baseCon.ini的绝对路径:代码如下:import osfrom common.initP原创 2021-01-05 11:42:17 · 489 阅读 · 0 评论