1. 前期了解
2. 单个接口例子
#-*-coding=utf-8-*- #author:shichao import requests import json def get_token(): url1 = "https://cart.taobao.com/trail_mini_cart.htm" content = {'callback':'MiniCart.setData','t':'1526048972328'} web = requests.get(url=url1,params=content) print(web.url) print(web.text) ty = web.text return ty if __name__ == '__main__': get_token() |
3. 封装接口类源码以及报告输出实例
1.一个接口地址一个类,每一个方法是一条testcase
#-*-coding=utf-8-*- #author:shichao import requests import unittest import json class MyTest(unittest.TestCase): #封装测试环境的初始化和还原的类 def setUp(self): #放对数据可操作的代码,如对mysql、momgodb的初始化等,这里不对数据库进行操作! print("start test") #打印出start test pass def tearDown(self): #与setUp()相对 print("end test") #打印出end test pass class test_xxx_get(MyTest): #把这个接口封装一个类,下面的方法是具体的测试用例 '''接口信息例如**功能''' #这个描述接口名称,""" 文字 可打印在输出台 def test_***_get(self): '''testcase001:***''' #这个描述接口用例名称 self.url = "http://***.***.***/api/xxx/get" #请求url self.headers = {"Content-Type":"application/json"} #请求头 self.data = { #请求参数写入data "token": "abcdefg", "id": 1, "param": { "QuId": 14 } } #self.用在方法属性中,表示是该方法的属性,不会影响其他方法的属性。 r = requests.post(url = self.url,json = self.data,headers = self.headers) #return r.json() print (self.r.text) print (self.r.status_code) self.assertIn("true",self.r.text) #断言判断接口返回是否符合要求,可以写多个断言! if __name__=="__main__": unittest.main() suiteTest = unittest.TestSuite() suiteTest.addTest(MyTest("test_xxx_get")) # suiteTest.addTest(MyTest("test_xxx_get_002")) # 按照一定时间格式获取当前时间(防止测试报告覆盖) now = time.strftime(u'%Y-%m-%d-%H-%M-%S') # 确定生成报告的路径 report_file = "自定义本地存储路径" + now + "_test_report.html" with open(report_file, 'wb') as report: runner = HTMLTestRunner.HTMLTestRunner(stream=report, title=u'title', description=u'描述', tester=u'测试人员') # runner = unittest.TextTestRunner() runner.run(suiteTest) report.close() |
unittest提供了全局的main()方法,使用它可以方便的将一个单元测试木块变成可以直接运行的测试脚本;
main()方法使用TestLoader类来搜索所有包含在该木块中以“test”命名开头的测试方法,并自动执行它
4. py3HTML测试报告源代码以及历史文章
# 基于py3HTMLTestRunner测试报 告修改样式的源码下载地址: 链接:https://pan.baidu.com/s/ 1HDc3jXtMVJEmFvSypalNoQ 提取码:x6o1 # 往期文章 python接口自动化测试-unittest-批量用 例管理 基于py3-HTMLTestRunner源代码修改 以及pycharm报告输出小工具 selenium自动化测试时,chrome 出现“ Chrome 正受到自动测试软件的控制”的 解决办法 |
个人在学习python这块,自学断断续续几个月,就下面这些东西,学的跟个狗似的,啥也不是,几天不操练什么都忘记,学习方法这块欠缺拿项目实战,以及师傅指点,
上次是哪个颇有影响力的人某博发个动态,说学习python很简单,朋友圈被圈友霸屏了,这个社会真的是很跟风!哦哦!潘总!我是不是应该给他教点学费!来敬畏我内心的热血彭拜。
学到现在个人表示,基础不牢固的还是一行一行代码从基础开始打起,可以先放弃一些百度copy的源码实例操练,没有多大意义。因为你有时候你真的不明白别人的一个"\"或者是一个方法代表什么意思 [ 深受其害的苦笑!]这句话敬前人造车子的码农。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理