自动化测试
一只会奔跑的小橙子
随手记录,随手分享
展开
-
python接口自动化针对接口中有日期的出现o = datetime.date(2024, 9, 4)TypeError: Object of type date is not JSON serial
报错信息如上,原因是json.dumps无法对字典中的datetime时间格式数据进行转化,dumps的原功能是将dict转化为str格式,不支持转化时间,所以需要将json类部分内容重新改写,来处理这种特殊日期格式。那是因为我要将这个获得日期值写入到yaml文件中,这个时候会将对应的字符串没有效果,需要手动给返回的日期加上双引号。所以需要将对应的日期改成字符串类型就可以解决这个问题了,所以我强行将返回的日期格式使用str进行强转。接口中使用参数有日期格式。发现运行之后还是报错,原创 2024-09-04 11:37:02 · 165 阅读 · 0 评论 -
pytest框架的作用--面试
模块名必须以test_开头;类名必须以Test开头,并且不能有init方法;用例方法必须以test开头。在做接口自动化的时候我们经常会用到pytest这个框架,这个框架有哪些优点。4.生成报告也可以结合allure。3. 断言-可以判断结果。1. 帮我们找到用例。原创 2024-07-30 14:04:52 · 220 阅读 · 0 评论 -
接口自动化“接口关联”(2)--单独的文件保存中间变量实现接口关联
在做接口自动化的时候经常会有一种场景是上一个接口的响应结果会用到下一个接口的请求中,通常我们会设置类变量做接口关联,但是类变量在跨py文件的时候就不是那么好用了,所以我们会将中间变量保存单独的文件中,这样进行调用的时候就直接把这个文件当成一个固件进行调用就可以了。思路:通常我们会使用yaml文件的方法,先将中间变量写入到yaml文件中,然后下一个接口使用这个中间变量的时候再读取yaml文件,等到所有操作结束以后再将文件中的内容清清除掉。#将中间文件中数据清除,因为每次执行的时候都会写入读取,原创 2024-07-30 11:42:40 · 431 阅读 · 0 评论 -
接口自动化“接口关联”(1)-通过类变量实现接口关联
在做自动化测试的时候经常会出现下一个接口的请求参数会用到上一个接口的响应结果,针对这种情况就是要做接口关联,最传统的方法将上一个接口的返回的值要用到下一个接口的直接设置成类变量,然后下一个接口进行调用的时候直接使用类变量即可。举例:上传文件的服务会用到两个接口,一个接口用户调用上传服务获取文件上传到远方服务器的token,另外一个接口是拿到这个token进行上传到终端。接口2要用到接口1的token值,可以将接口1返回的结果设置成类变量,这样接口2使用的时候直接引用类变量具体代码实现逻辑如下。原创 2024-07-29 11:39:16 · 191 阅读 · 0 评论 -
接口自动化中对于文件上传的处理方法
举例:web上需要导入一个文件实现相关的功能,主要通过两个接口,第一个接口就是将文件进行上传或者上传到指定地点的token,第二个借口主要是将这个文件上传到指定的网址。正常的接口自动化基本都是json的格式,对于文件上传是一种特殊的格式是表单格式针对这种表单格式在接口自动化中怎么处理,主要通过工作中使用的一个实际的例子进行分享。原创 2024-07-29 10:16:47 · 423 阅读 · 0 评论 -
python中,jsonpath提取数据的时候出现TypeError: ‘bool‘ object is not subscriptable怎么解决
可以看到提取的token里面的值并不是json格式,所以使用jsonpath提取报错,所以可以先提取到params的值,然后将提取的值转换成字典格式然后按照字典的取值逻辑获取token的值。通过错误用法可以看到,按照这个表达式进行提取的时候出现布尔类型的值代表着并没有提取到数据,这个时候我们可以把上面的数据复制到json转换工具中进行转换,发现报错。综上所述,对于jsonpath提取数据的时候也要看提取的数据的类型是不是混合模式,如果是混合模式,需要指定数据进行处理以后再进行提取。'msg': '成功'原创 2024-07-29 10:13:21 · 383 阅读 · 0 评论 -
python自动化中正则表达式提取(适用于提取文本结果)
对于结果是json格式的我们经常使用jsonpath,但是很多时候我们需要从一些文本中提取数据,这个时候正则表达式的提取就很重要,这边主要分享一些正则表达式的提取方法和应用场景的实践,主要介绍两种用法re.search()跟re.findall()原创 2024-07-26 10:03:07 · 403 阅读 · 0 评论 -
接口自动化中json.dumps()跟json.loads()区别详解
接口自动化中对于参数处理经常会用到json.dumps()跟json.loads(),下面主要分享一下自己使用总结。原创 2024-07-26 09:35:22 · 466 阅读 · 0 评论 -
python中接口自动化中jsonpath详解
python在在进行接口关联的时候经常会用到参数提取,这个时候jsonpath提取器就很常用,这边主要分享一下jsonpath的详细用法。(3)jsonpath 提取完的数据是列表,如果想要里面具体的值需要按照列表的方式取其中列表中的值。"des": "验收单A4纸""des": "验收单两联纸""des": "验收单两联纸""des": "验收单A4纸""des": "验收单A4纸""des": "容器打印""des": "标签打印""des": "盘点单""des": "发货单"原创 2024-07-25 11:19:24 · 866 阅读 · 0 评论 -
python自动化测试中requests.request()跟session().request()区别详解
python在进行项目自动化测试过程中对于遇到的requests.request()和session().request()进行接口自动化的封装。原创 2024-07-25 09:45:09 · 395 阅读 · 0 评论 -
pytest运行自动化测试用例报if context.check_hostname and not server_hostname:> ValueError: check_hostname requi
各种检查都没有问题,最后发现开启了fiddler代理导致代码运行报错,将fiddler关闭以后可以正常运行了。原创 2023-12-28 17:27:10 · 471 阅读 · 1 评论 -
pytest接口自动化遇到的坑:TypeError: Object of type function is not JSON serializable
从错误信息来看,问题出现在尝试将一个函数对象进行JSON序列化时JSON模块默认无法序列化函数对象,因此当遇到函数对象时,会抛出。解决方法找到对应的json.dump(data)之前将对应的data数据打印出来看是否有不可序列化的内容。这个时候看到是token取值有问题,将代码中的token对应的函数get_token改成对应的返回值。中的某个键对应的值是函数对象,那么你可以考虑将该函数对象的返回值或其他可序列化的信息作为值。变量的内容,并找出其中的函数对象,然后将其转换为可以序列化的格式。原创 2023-11-24 14:57:21 · 1509 阅读 · 1 评论