设置断言,进行接口自动化测试
断言
assertEqual(a,b):断言a和b是否相等,相等则测试用例通过。
assertNotEqual(a,b):断言a和b是否相等,不相等则测试用例通过。
assertTrue(x):断言x是否True,是True则测试用例通过。
assertFalse(x):断言x是否False,是False则测试用例通过。
assertIs(a,b):断言a是否是b,是则测试用例通过。
assertNotIs(a,b):断言a是否是b,不是则测试用例通过。
assertIsNone(x):断言x是否None,是None则测试用例通过。
assertIsNotNone(x):断言x是否None,不是None则测试用例通过。
assertIn(a,b):断言a是否在b中,在b中则测试用例通过。
assertNotIn(a,b):断言a是否在b中,不在b中则测试用例通过。
assertIsInstance(a,b):断言a是是b的一个实例,是则测试用例通过。
assertNotIsInstance(a,b):断言a是是b的一个实例,不是则测试用例通过。
接口关联
import requests,unittest
class TsetClass(unittest.TestCase):
#get第一种方式
# def test001(self):
# cs = '{"phone": "18513875912","key":"5a315f1389b7c54afa59ecca7d861596"}'
# css=eval(cs)
# requestresult = requests.get(url="http://apis.juhe.cn/mobile/get",params=css)
# print(requestresult.json())
#get第二种方式
csss = "" #设置全局变量
def test002(self):
requestesult=requests.get("http://apis.juhe.cn/mobile/get?phone=185138759125a315f1389b7c54afa59ecca7d861596")
# print(requestesult.json()) #以json类型返回的内容 这个是字典类型的
# print(requestesult.url) #返回url路径
# print(requestesult.status_code) #返回状态码
# print(requestesult.text) #返回文本内容,这个是字符类型的
global csss
csss =error_code = requestesult.json()["result"]["province"] #获取json数据中的province的数据
print(csss)
def test003(self):
url="http://apis.juhe.cn/simpleWeather/query"
params='{"city":csss,"key":"03869f7516086887fdba8d55fc7fc733"}'
pp=eval(params) #去除两边单引号
requestresult = requests.post(url=url,data=pp)
error_code = requestresult.json() #获取返回的json数据
print(error_code)
if __name__ == '__main__':
unittest.main()
读取csv文件
另存为csv文件 ,然后将csv文件,复制到data下
读取csv的测试数据