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

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

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

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

  1. import requests
  2.  
  3. # 接口的url
  4. url = "http://fanyi.baidu.com/v2transapi"
  5.  
  6. # 接口的参数
  7. params = {
  8. "from":"en",
  9. "to":"zh",
  10. "query": "test"
  11. }
  12.  
  13. r = requests.request("post", url, params=params)
  14.  
  15. # 打印返回结果
  16. print(r.text)
  17.  
  18. # 为了让结果看的更加清楚一点,我取来翻译的字段
  19. import json
  20. d = json.loads(r.text)
  21. print(d['liju_result']['tag'])

结果:

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

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

修改参数再次请求;

  1. import requests
  2.  
  3. url = "http://fanyi.baidu.com/v2transapi"
  4. params = {
  5. "from":"en",
  6. "to":"zh",
  7. "query": "study" #
  8. }
  9. r = requests.request("post", url, params=params)
  10.  
  11. import json
  12. d = json.loads(r.text)
  13. print(d['liju_result']['tag'])

结果:

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

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

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

  1. import requests,unittest,json
  2. class Testbaiduapi(unittest.TestCase):
  3. def setUp(self):
  4. url = "http://fanyi.baidu.com/v2transapi"
  5. def testzhen(self):
  6. params = {
  7. "from":"en",
  8. "to":"zh",
  9. "query": "study" #
  10. }
  11. url = "http://fanyi.baidu.com/v2transapi"
  12. r = requests.request("post", url, params=params)
  13. r=json.loads(r.text)
  14. assert u'学习' in r['liju_result']['tag']
  15. def testzhen1(self):
  16. params = {
  17. "from":"en",
  18. "to":"h",
  19. "query": "stud" #
  20. }
  21. url = "http://fanyi.baidu.com/v2transapi"
  22. r = requests.request("post", url, params=params)
  23. r=json.loads(r.text)
  24. assert u'学习' in r['liju_result']['tag']
  25. def tearDown(self):
  26. pass
  27. if __name__=='__main__':
  28. unittest.main(verbosity=2)

结果:

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

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

  1. import requests,unittest,json,HTMLTestRunner
  2. class Testbaiduapi(unittest.TestCase):
  3. def setUp(self):
  4. url = "http://fanyi.baidu.com/v2transapi"
  5. def testzhen(self):
  6. params = {
  7. "from":"en",
  8. "to":"zh",
  9. "query": "study" #
  10. }
  11. url = "http://fanyi.baidu.com/v2transapi"
  12. r = requests.request("post", url, params=params)
  13. r=json.loads(r.text)
  14. assert u'学习' in r['liju_result']['tag']
  15. def testzhen2(self):
  16. params = {
  17. "from":"en",
  18. "to":"h",
  19. "query": "stud" #
  20. }
  21. url = "http://fanyi.baidu.com/v2transapi"
  22. r = requests.request("post", url, params=params)
  23. r=json.loads(r.text)
  24. assert u'学' in r['liju_result']['tag']
  25. def tearDown(self):
  26. pass
  27. if __name__=='__main__':
  28. report_dir= r's.html'
  29. re_open= open(report_dir,'wb')
  30. suite=unittest.TestLoader().loadTestsFromTestCase(Testbaiduapi)
  31. runner=HTMLTestRunner.HTMLTestRunner(
  32. stream=re_open,
  33. title=u'百度翻译api接口测试报告',
  34. description=u'百度翻译api接口测试详情'
  35. )
  36. runner.run(suite)

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

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

作者寄语:

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

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

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

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

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

Python 接口测试(五)的更多相关文章

  1. Python接口测试框架实战与自动化进阶✍✍✍

    Python接口测试框架实战与自动化进阶  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看 ...

  2. Python第五章__模块介绍,常用内置模块

    Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...

  3. Python(五)编程小实例

    Python(五)编程小实例 抓取网页信息,并生成txt文件内容! Python抓取网页技能--Python抓取网页就是我们常看见的网络爬虫,我们今天所要用到的就是我们Python中自带的模块,用这些 ...

  4. 初学Python(五)——元组

    初学Python(五)——元组 初学Python,主要整理一些学习到的知识点,这次是元组. #-*- coding:utf-8 -*- #定义元素 t = (1,2,3) #添加元素 #删除元素 #更 ...

  5. Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块

    Python第五天   文件访问    for循环访问文件    while循环访问文件   字符串的startswith函数和split函数  linecache模块 目录 Pycharm使用技巧( ...

  6. Python接口测试实战1(上)- 接口测试理论

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  7. Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  8. Python接口测试实战5(上) - Git及Jenkins持续集成

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  9. Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  10. Python接口测试实战4(上) - 接口测试框架实战

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

随机推荐

  1. python使用mongodb

    系统环境:Windows 10 ,python3.x 1.安装mongodb mongodb下载官网:https://www.mongodb.com/download-center?jmp=nav#c ...

  2. 理解javascript 对象,原型对象、闭包

    javascript作为一个面向对象的语言,理解 对象.原型.闭包.模块模式等技术点对于成为一名合格的javascript程序员相当重要,多年没写过blog,今天就先拋个玉,在下基本也不做前端,但颇感 ...

  3. 开源分享 Unity3d客户端与C#分布式服务端游戏框架

    很久之前,在博客园写了一篇文章,<分布式网游server的一些想法语言和平台的选择>,当时就有了用C#做网游服务端的想法.写了个Unity3d客户端分布式服务端框架,最近发布了1.0版本, ...

  4. Visual Studio2017数据库数据比较

    一.前言 上一篇文章我们介绍了如何使用VS2017对SSMS数据库进行架构比较.这一篇文章我们将继续介绍如何对SSMS数据库的数据进行比较.数据的比较也是很常见的,比如我们要比较当前版本的数据库相对上 ...

  5. mac 终端常用目录跳转命令

    以前一直都是使用Windows系统,连命令行都没怎么用过.来到了Mac,在某位大神的诱导下,我开始尝试使用Mac Terminal,下面总结的是一些简单的目录跳转命令  (菜鸟级) .  文件目录 首 ...

  6. ASP.NET Excel导入Sql Server数据库(转)

    先看界面图 实现的基本思想: 1,先使用FileUpload控件fuload将Excel文件上传到服务器上得某一个文件夹. 2,使用OleDb将已经上传到服务器上的Excel文件读出来,这里将Exce ...

  7. SpringBoot学习开篇

    "Spring Framework已有十余年的历史了,已成为Java应用程序开发框架的事实标准.在如此悠久的历史背景下,有人可能会认为Spring放慢了脚步,躺在了自己的荣誉簿上,再也做不出 ...

  8. Mac 下如何使用sed -i命令

    今天在学习Linux的过程中发现了sed这一项指令 首先,sed的全称是:Stream Editor 调用sed命令有两种形式: sed [options] 'command' file(s) sed ...

  9. 四则运算GUI

    一.题目描述 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成 ...

  10. 团队作业4——第一次项目冲刺(Alpha版本)

    Deadline: 2017-4-30 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的两个个方面 七天的敏捷冲刺 日志的集合贴 晚交 - 0分 迟交一周以上 - ...