使用python进行接口自动化测试,批量执行测试用例
工作中,使用python的requests库进行接口自动化测试是一个比较不错的选择,今天就以某网站的免费接口为例,展示以get请求进行批量执行测试用例。话不多说
分析一下接口信息:
请求地址:http://apis.juhe.cn/simpleWeather/query,
请求参数:city和key,都是必传
请求方式:get或post,以下以get为例
返回结果:info,wid等
注意:该网站免费接口每天有请求次数限制,在调试的时候注意下不要超过规定次数,不然只能等到第二天才能使用了。
1 import requests 2 3 def query_whether(url, citys): 4 print("开始执行测试》》》") 5 i = 1 6 for c in citys: 7 #把每次得到的城市信息分别放到data这个字典里 8 data = {"city": c, "key": my_key} 9 result = requests.get(url, data) 10 if result.status_code == 200 and result.text.find(c): 11 # 判断返回结果是否包含“查询成功!”字符串和查询城市字符串, 12 # find函数:查找某个字符串是否包含在一个字符串里,返回查询到次数int类 型,如果没有查到返回-1 13 if result.text.find("查询成功!") != -1 and result.text.find(c) != -1: 14 print("第{}个城市:{}天气查询成功!".format(i, c)) 15 else: 16 print("检查点失败, {}城市天气查询失败".format(c)) 17 i += 1 18 else: 19 print("响应码不是200,执行错误!") 20 print("函数执行完毕。。。") 21 22 23 def readfile(fname): 24 # 读取测试数据(保存在.txt文件里) ,返回城市列表 25 city_list = [] 26 filename = open(fname, "r") 27 for c in filename.readlines(): 28 # 去掉换行符 29 r1 = c.strip("\n") 30 city_list.append(r1) 31 filename.close() 32 return city_list 33 34 35 if __name__ == "__main__": 36 citys = readfile("./citys.txt") 37 my_key = "514d0724b1dafad26eee30327939XXXX" # 申请接口时给的key 38 url = "http://apis.juhe.cn/simpleWeather/query" 39 query_whether(url, citys)
测试数据,保存在与程序的相同目录下
