- 博客(12)
- 收藏
- 关注
原创 Pytest的环境切换
在公司可能存在多套环境,每个环境对应的数据库,redis,域名,用户都不太一样,尽管有配置文件,但是手动改起来也比较麻烦,我们希望在框架层面执行时,只需要指定执行的环境名称即可,他能够自动将各个环境信息切换到当前执行中来。
2024-07-23 22:51:20
152
原创 Pytest框架中公共基本信息配置文件抽取
公共基本信息比如卖家,买家,管理员,验证码等基本信息,数据库,redis,各个服务对应的域名,如果写在代码里面,要修改起来会比较麻烦,为了能够更好的维护他们,我们将他们放入配置文件中进行管理。
2024-07-23 22:22:24
143
原创 接口自动化并发执行,多进程
~~指定分配机制对于pytest-xdist来说,还有一个参数叫做--dist,可以指定多个进程并发时测试用例分配的维度,默认分配是按照用例,如果用例之间存在关联,他们没有被分配到同 一个进程,必然会失败,因此我们设计用例时,将有关联的用例放在同一个测试文件中,并且将分配机制改成按照测试文件进行分配,当多进程并发时,指定--dist==each,执行完成后测试报告的用例数量不对,比如一共10条用例,两个进程执行测试报告里面就应该有20条用例的数据,但是测试报告上面依然是10条。
2024-07-22 23:19:51
729
原创 复杂接口参数数据参数化处理
4、设计封装一个方法,使用jsonpath来完成数据替换,通过第三步的jsonpath表达式匹配到第二步默认参数目标,并且把新的值替换到默认参数中去,完成测试数据替换。json_object是json数据,json_path是要改数据的jsonpath,new_value是要改的数据。一、在接口调用的时候,参数化遇到复杂json,如果把每个参数当成独立列来对待,数据比较多,维护起来比较复杂。3、在数据文件中只维护用例对应的目标参数即可参数格式是{"$.goods_name":""}所以我们设计一个方法。
2024-07-21 12:53:50
252
原创 使用Excel和Yaml实现数据驱动
如果测试用例和real_excel不在同一个包下,会报错数据文件找不到FileNotFoundError,这个问题是因为如果操作文件传入的是相对路径,那么python在执行的时候会根据执行文件所在的路径去找,很多时候找不到所以我们要想办法传绝对路径,不管在哪里执行都能找到,但是绝对路劲也不能写死,所以需要设计一个文件管理的角色,帮助管理框架中的数据及配置文件的绝对路径。3、用例里面调用real_excel来获取excel里面的数据,读取出来的数据是列表嵌套列表的形式,是符合数据驱动的要求的。
2024-07-16 23:32:05
436
原创 mysql在自动化测试中的运用
cursorclass=pymysql.cursors.DictCursor # 这个参数的意思是把得到的数据当做一个字典。cursorclass=pymysql.cursors.DictCursor #这个参数的意思是把得到的数据当做一个字典。self.connect.commit() #提交事务,如果不提交,下次查询查出的就是新数据。#这个游标对象会将当前数据库的结果集进行存储,后续的操作都在这个结果集上操作。#得到的res是列表嵌套字典的形式,每个字典就代表每行数据。
2024-07-14 21:10:47
705
原创 redis在自动化测试中的运用
需要先定义一个类,初始化方法是对连接进行定义,再定一个方法对redis进行操作,练习的项目是把java对象做了序列化存储后的数据,需要借助第三方库转成python中的对象,才能进行解析,javaobj-py3。#订单确认参数存储在redis数据库里面的是一个hash,对应python里面的字典,所以我们可以通过遍历的方式拿到里面的数据。redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)设置值:set name dawei。
2024-07-14 18:11:40
907
原创 python面向对象
面向对象里面有两个重要的概念,类、对象,Plane是类,Plane(sn="001")是对象,类的定义里面self就代表对象本身。# 这就是根据类去创造一个对象,Plane()这是创造的过程,然后将创造的对象赋值给plane1这个变量。#对于每个对象都有的属性和行为,并且大家都不相干,此时属性和行为就需要采用实例属性和实例方法来定义。#当前类所有代表的事物,公共的行为,但是这个行为又不会因为对象的改变而改变,那么就采用类方法来定义。#针对对象的行为动作,定义成方法,self代表对象本身。
2024-01-18 23:49:28
651
原创 Pytest测试框架学习
右键执行,pycharm默认是以unittests的方式执行,需要修改执行方式,然后把之前的执行记录清除,然后就可以右键执行,查看所有用例的执行结果,需要勾选控制台上的对号。以类的方式编写测试用例,不能包含init方法,以test开头的方法代表一条用例。pytest -sv 文件路径::测试类::测试方法,sv表示有详细的执行日志。#针对接口响应字段的核心数据做断言,code码。纯函数方式编写测试用例,以test_命名的函数。#断言,断言就是判断结果是否正确的过程。二、pytest编写测试用例的规则。
2024-01-10 00:44:53
412
1
原创 Python Requests库学习
要调用一个接口,需要知道接口的url(域名和地址),接口请求的头信息,接口的请求参数,对于get接口来说,查询参数会定义为params,把请求信息准备好就可以发起接口调用,接口调用可以用requests.get(url=url,params=params)的方式进行调用,我们可以定义一个变量来获取接口响应对象res=requests.get(url=url,params=params),接口响应包含,响应头信息,响应状态码,响应body体数据。一、创建新项目,安装requests库。路径参数的get接口。
2024-01-08 23:39:59
784
原创 postman学习
Tests(在这里做断言),图中断言的是响应状态码是不是100,可以选择右边的SNIPPETS选择需要的断言,这里的东西很好用。本接口的签名方法为,三个参数加在一起,然后进行MD5加密,不知道自己接口签名方法的宝子可以找对应的开发了解。表单参数,k=value,Body->x-www-form-urlencoded。文件上传接口,Body->form-data,key填写file选择file。key=json接口,Body->x-www-form-urlencoded。//获取接口响应json格式的数据。
2024-01-06 22:05:09
825
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人