Python 接口测试(五)

来源:互联网 发布:cisco 端口配置 编辑:程序博客网 时间:2024/06/12 23:30

五:使用python进行组织编写接口测试用例

接口测试其实就是几个步骤。

  1. 拿到接口的url地址
  2. 查看接口是用什么方式发送
  3. 添加请求头,请求体
  4. 发送查看返回结果,校验返回结果是否正确

明白了接口测试的测试步骤,那么我们就可以来组织我们的代码。

复制代码
import requests# 接口的urlurl = "http://fanyi.baidu.com/v2transapi"# 接口的参数params = {    "from":"en",    "to":"zh",     "query": "test"}r = requests.request("post", url, params=params)# 打印返回结果print(r.text)# 为了让结果看的更加清楚一点,我取来翻译的字段import jsond = json.loads(r.text)print(d['liju_result']['tag'])
复制代码

结果:

['试验', '测验', '考验', '化验', '考查', '受试验', '受测验', '受考验', '测得结果']

(结果很长,截取最后的)

修改参数再次请求;

复制代码
import requestsurl = "http://fanyi.baidu.com/v2transapi"params = {    "from":"en",    "to":"zh",    "query": "study" #}r = requests.request("post", url, params=params)import jsond = json.loads(r.text)print(d['liju_result']['tag'])
复制代码

结果:

['学习', '研究', '课题', '书房', '结论', '考虑', '沉思', '努力', '想出']

 

ps:我们看看利用工具测试该接口

接下来我们来引入unittest库优化代码:

复制代码
import requests,unittest,jsonclass Testbaiduapi(unittest.TestCase):    def setUp(self):        url = "http://fanyi.baidu.com/v2transapi"    def testzhen(self):        params = {        "from":"en",        "to":"zh",        "query": "study" #    }        url = "http://fanyi.baidu.com/v2transapi"        r = requests.request("post", url, params=params)        r=json.loads(r.text)        assert  u'学习' in r['liju_result']['tag']    def testzhen1(self):        params = {        "from":"en",        "to":"h",        "query": "stud" # }        url = "http://fanyi.baidu.com/v2transapi"        r = requests.request("post", url, params=params)        r=json.loads(r.text)        assert  u'学习' in r['liju_result']['tag']    def tearDown(self):        passif __name__=='__main__':    unittest.main(verbosity=2)
复制代码

结果:

在python中,提供了HTMLTestRunner.py来生成测试报告,把该文件下载后,直接放到python安装文件的lib的目录下,

就可以导入该模块使用了,见该实现的代码:

复制代码
import requests,unittest,json,HTMLTestRunnerclass Testbaiduapi(unittest.TestCase):    def setUp(self):        url = "http://fanyi.baidu.com/v2transapi"    def testzhen(self):        params = {        "from":"en",        "to":"zh",        "query": "study" #    }        url = "http://fanyi.baidu.com/v2transapi"        r = requests.request("post", url, params=params)        r=json.loads(r.text)        assert  u'学习' in r['liju_result']['tag']    def testzhen2(self):        params = {        "from":"en",        "to":"h",        "query": "stud" #    }        url = "http://fanyi.baidu.com/v2transapi"        r = requests.request("post", url, params=params)        r=json.loads(r.text)        assert  u'' in r['liju_result']['tag']    def tearDown(self):        passif __name__=='__main__':    report_dir= r's.html'    re_open= open(report_dir,'wb')    suite=unittest.TestLoader().loadTestsFromTestCase(Testbaiduapi)    runner=HTMLTestRunner.HTMLTestRunner(        stream=re_open,        title=u'百度翻译api接口测试报告',        description=u'百度翻译api接口测试详情'    )    runner.run(suite)
复制代码

执行后,会在当前目录下生成测试报告,截图如下:

 

其他接口的测试方法也是这个思路,

 

作者寄语:

前进的道路我们充满着迷茫,

前进的每一步我们都会有收获。

路在脚下,我们决定不了我们的出身,但是我们可以努力改变我们未来。

告别昨天失败的自己,努力拼搏今天,成就美好明天

 

 padf文档分享:https://pan.baidu.com/s/1gfuXkpP

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝玩具没有怎么办3c 家庭遭遇小三我该怎么办 老公出轨把小三带回家了怎么办 小三怀孕了怎么办准生证 小三怀孕了起诉怎么办 不知情做了小三怎么办 发现自己被三了怎么办 被扇巴掌脸肿了怎么办 分到上海市金鼎学校怎么办 被列入维稳对象怎么办? 资金涉及诈骗案冻结了怎么办 小米浏览器浏览记录找不到了怎么办 米聊账号封了怎么办 管家婆创业版管理员忘记密码怎么办 手机不记得密码了怎么办 手机不记得开锁密码怎么办 oppo手机不记得密码怎么办 电脑密码不记得了怎么办 vivo手机不记得密码了怎么办 运管把车扣了怎么办 大学通选课挂科怎么办 通识必修课挂了怎么办 我想开3d艺术馆怎么办 档案回原籍报到证怎么办 服刑的人孩子上学怎么办 长沙终身教育网用户名忘记了怎么办 乡下卖服装没生意怎么办 没能力没学历该怎么办 没有学历的我该怎么办 补过的牙掉了怎么办 法院判完被告不给钱怎么办 b证到期未继续教育怎么办 宝宝上幼儿园中午要用尿不湿怎么办 嫁到北京农村怎么办居住证 2020年没脱贫的农民怎么办 2020年农民的土地怎么办 车停在停车场被划怎么办 专升本差两分怎么办 入职需要学士学位证怎么办 不喜欢写科研项目又没编制怎么办 易学堂密码忘了怎么办