错误代码如下
import requests
import business.take_saas_token as take_saas_token
#测试用例2:添加心率设备
def test_HrGroupAddHeartRateDevice():
query_params = {
"venue_id": 3189,
"sn": 27470993,
"in_venue_no": 1
}
r = requests.post(url=base_url + "/hrsensor/Index/addHrSensor", params=query_params, cookies=take_saas_token())
print(r.status_code)
rst = r.json()['rst']
assert r.status_code == 200
assert rst == 0
if rst == 0:
print('测试用例2 测试结果:添加心率设备成功,测试通过')
else:
print('测试用例2 测试结果:添加心率设备失败,测试未通过')
报错信息 : r = requests.post(url=base_url + "/hrsensor/Index/addHrSensor", params=query_params, cookies=take_saas_token())
E TypeError: 'module' object is not callable
报错翻译:“模块”对象不可调用
解决思路:
通过报错,我们知道了问题出在模块上,我们在这里只用了2个模块1个是request,1个就是take_saas_token。通过排除法分析,request没有问题,那问题就出在take_saas_token。通过查资料得知在使用Python导入模块的方法import module 导入的东西使用时需加上模块名的限定,也就是在take_saas_token之前加入 take_saas_token这个模块名,即:
cookies=take_saas_token.take_saas_token())
正确的代码:
import requests
import business.take_saas_token as take_saas_token
#测试用例2:添加心率设备
def test_HrGroupAddHeartRateDevice():
query_params = {
"venue_id": 3189,
"sn": 27470993,
"in_venue_no": 1
}
r = requests.post(url=base_url + "/hrsensor/Index/addHrSensor", params=query_params, cookies=take_saas_token.take_saas_token())
print(r.status_code)
rst = r.json()['rst']
assert r.status_code == 200
assert rst == 0
if rst == 0:
print('测试用例2 测试结果:添加心率设备成功,测试通过')
else:
print('测试用例2 测试结果:添加心率设备失败,测试未通过')
修改改后运行通过
希望对刚接触Python接口测试的同学有所帮助,也希望大家多多点赞收藏转发,您的鼓励是对我付出最大的支持!~