接口自动化测试
接口自动化测试
Tim8709
这个作者很懒,什么都没留下…
展开
-
hamcrest断言
python自带assert可实现简单断言,但遇到复杂断言assert就不能支持了。而hamcrest能够很好的支持复杂断言,下面举例说明。GitHub地址:https://github.com/hamcrest/PyHamcrest示例from hamcrest import *def test_hamcrest(): the_string = 'Hello Hamcrest' my_string = 'Hello Hamcrest' assert_that(the_s原创 2020-10-10 15:27:14 · 516 阅读 · 0 评论 -
接口自动化测试框架python+requests
思路接口封装(将接口封装成对象,类似PageObject封装)数据封装(数据与代码分离,数据存放在yaml文件中)配置文件(实现全局配置)utils(其他功能封装)测试用例(调用接口对象实现业务并断言)接口封装base_api.pyimport requestsclass BaseApi: def send_api(self, req: dict): pprint(req) r = requests.request(**req) p原创 2020-09-03 16:38:18 · 241 阅读 · 0 评论 -
json-schema自动校验
官方地址:https://json-schema.org/jsonschema 一般用来进行json数据格式验证,在数据提交到业务层次之前进行json格式的验证,还可以根据需要自定义规则。接口测试中,接口返回几十个字段,要对每个字段断言会很繁琐;我们可以用json schema来判断这几十个字段的类型和范围是否改动了。import requestsimport jsonfrom jsonschema import validate def test_get_login_jsonschem原创 2020-08-16 14:08:35 · 1725 阅读 · 0 评论 -
jsonpath(xpath for json)
在接口测试中,我们需要断言接口的返回结果,若返回结果是json格式,就要一层一层的取json中的元素(r.json()[store][book][category]);若json层级较深,表达式就会很长。而jsonpath为我们提供了更加灵活、方便的方式,下面列举了些常用功能。官网地址:https://goessner.net/articles/JsonPath/from jsonpath import jsonpathbook_dict = { "store": { "bo原创 2020-08-13 16:42:09 · 215 阅读 · 0 评论 -
mustache模板技术
构造接口请求时,经常会遇到请求体特别长的情况,但我们只需要修改其中一两个字段,此时我们就用到mustache模板技术了。把完整的请求体存放在json文件(模板)里,我们把需要修改的字段传入模板即可。mustache.json(模板示例){ "username": "{{user}}", "password": "{{pwd}}"}mstache.pyimport pystacheimport requestswith open("mustache.json", encoding="ut原创 2020-08-13 10:21:39 · 319 阅读 · 0 评论 -
requests请求与响应
python中的requests框架可以很方便的构造接口请求,详见正文。介绍个练习接口测试项目地址:https://requests.readthedocs.io/zh_CN/latest/,这项目响应挺慢的,可以自己用docker搭建,详见官网。请求目标构造def url(): requests.get('http://xxx.xxx.com')请求头构造def header(): headers = {"User-Agent": "Mozilla/5.0"} requests.get(原创 2020-08-12 09:15:24 · 408 阅读 · 0 评论