• API自动化测试笔记(一)


    (一)接口说明

    https://developers.douban.com/wiki/?title=user_v2 

    豆瓣的这个搜索用户的接口

    (二)测试代码

     1 import requests
     2 
     3 data ={
     4     "q":"张三枫",
     5     "count":20
     6 }
     7 #发送get请求,实际上就是https://api.douban.com/v2/user?q=张三枫&count=20
     8 result = requests.get('https://api.douban.com/v2/user',data)
     9 r = result.json()
    10 
    11 print(r)

    输出可以看到json格式的数据,IDE的窗口不太好看,可以用谷歌直接输入 https://api.douban.com/v2/user?q=张三枫&count=20 看输出

    (想看到下面格式的数据,要安装一个插件,谷歌浏览器地址栏直接输入https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc )

    (三)使用unitest单元测试框架

    serchusertest.py 代码
     1 import unittest
     2 import requests
     3 class SearchUserTest(unittest.TestCase):
     4 
     5 
     6 
     7     def test_search_user(self):
     8         data = {
     9             "q": "张三枫",
    10             "count": 20
    11         }
    12         result = requests.get('https://api.douban.com/v2/user',data)
    13         r = result.json()
    14         #断言接口返回的数据中,count的值是否为20
    15         self.assertTrue(r['count'] == 20)
    16         #断言返回的数据中,users['name']是否都包含“张三枫”关键字
    17         self.assertTrue('张三枫' in i['name'] for i in r['users'])
    18 
    19 
    20     if __name__ == '__main__':
    21         # 加verbosity=2参数,在命令行中显示具体的测试方法
    22         unittest.main(verbosity=2)

    如果测试数据要参数化的话,可以使用数据驱动测试(ddt),可以参考我之前发的关于数据驱动测试https://www.cnblogs.com/simple-free/p/8485820.html

    (四)生成测试报告

    需要用到HTMLTestRunner,可以到下面这个地址下载,放到哪个目录下自己看吧,python解释器能搜索到就行,我是放到python安装目录的这个路径下(C:UsersLaiquAppDataLocalProgramsPythonPython36Libsite-packages)

    https://github.com/blairwind/HTMLTestRunner

     1 import unittest
     2 import HTMLTestRunner
     3 import os
     4 from serchusertest import SearchUserTest
     5 
     6 #返回当前工作目录
     7 dir = os.getcwd()
     8 #获取SearchUserTest类的 所有测试方法
     9 search_user_test = unittest.TestLoader().loadTestsFromTestCase(SearchUserTest)
    10 #创建测试套件
    11 smoke_tests = unittest.TestSuite([search_user_test])
    12 #以二进制形式打开文件,用于写入
    13 outfile = open(dir + "接口测试报告.html","wb")
    14 #配置HTMLTestRunner
    15 runner = HTMLTestRunner.HTMLTestRunner(stream=outfile,title='测试报告',description='接口测试')
    16 #运行测试套件
    17 runner.run(smoke_tests)

  • 相关阅读:
    pat 1029. Median (25)
    pat 1040. Longest Symmetric String (25)
    pat 1037. Magic Coupon (25)
    pat 1058. A+B in Hogwarts (20)
    pat 1083. List Grades (25)
    pat 1054. The Dominant Color (20)
    pat 1042. Shuffling Machine (20)
    pat 1061. Dating (20)
    *分支-11. 计算工资
    分支-10. 计算个人所得税
  • 原文地址:https://www.cnblogs.com/simple-free/p/9333900.html
Copyright © 2020-2023  润新知