一、环境搭建
二、方法
- import requests #pip安装requests第三方库,然后引入
- import json #引入json标准库,美化json输出
-
- url = 'http://***/account/login'
- data = {
- "username":"***01",
- "password":"password",
- }
-
- result = requests.post(url,data).json() #以json格式输出
- print(result)
- result = requests.post(url,data).text #以源码形式输出
- print(result)
- import requests#引入requests第三方包
- import json#引入json包
-
- class Login():
- def httprequests(self,url,data,method):#self为类函数的默认函数,放在第一位
- if method=="post":
- res=requests.post(url,data)#post请求方法
- else:
- res=requests.get(url,data)#get请求方法
- print(res.text)#以源码形式输出
- print(res.json())#以json形式输出
-
- #创建实例,调用函数
- test1=Login()
- login_url='https://www.******/pc/member/sign'
- login_data={"flag":"mobile",
- "password":"f5e05a41724115d076bfb1fd2bd9613e",
- "mobile_phone":"136********"}
- login_method='post'
- test1.httprequests(login_url,login_data,login_method)
三、单元测试
(1)先创建一个加法类-Mathmethod,存入Mathmethod.py文件
- #定义一个数学加法类
- class Mathmethod():
- def add(self,a,b):
- return(a+b)
- def sub(self,a,b):
- return(a-b)
(2)然后创建测试用例-TestMathmethod
- import unittest
- from HTMLTestRunner import HTMLTestRunner
- from requesttest.math.Mathmethod import Mathmethod # 引入Mathmethod模块
- #import HTMLTestRunnerNew
- class TestMathmethod(unittest.TestCase):#创建TestMathmethod类,继承unittest.TestCase方法
- #编写测试用例,函数命名必须以test_开头
- def test_add_two_num(self):
- res=Mathmethod().add(3,6)
- print('两个数值相加结果是',res)
- self.assertEqual(9,res)
- def test_sub_two_num(self):
- res=Mathmethod().sub(9,8)
- print('两个数值相减结果是', res)
- self.assertEqual(1,res)
(3)创建测试报告-使用HTML方法
- import unittest
- from HTMLTestRunner import HTMLTestRunner
- from requesttest.math.TestMathmethod import TestMathmethod
-
-
- testunit=unittest.TestSuite()#生成单元测试流程
- testunit.addTest(TestMathmethod("test_add_two_num"))
- testunit.addTest(TestMathmethod("test_sub_two_num"))#加载一条测试用例
- fp=open('D:\\test\\unittest1.html','wb')#创建测试报告,以写的方式存入某个路径
- runner=HTMLTestRunner(
- stream=fp,
- title="加法测试",
- description="用例执行情况:"
- )
- runner.run(testunit)
- fp.close()
(4)也可使用txt的形式输出测试报告
- import unittest
- from HTMLTestRunner import HTMLTestRunner
- from requesttest.math.TestMathmethod import TestMathmethod
-
- suite=unittest.TestSuite()#收集测试用例
- loader=unittest.TestLoader()#加载测试用例-按照类的方法添加一个类下面的所有测试用例
- suite.addTest(loader.loadTestsFromTestCase(TestMathmethod))
- file=open('test_case.txt','w+')#测试报告的存储路径和测试报告的读写方式
- runner=unittest.TextTestRunner(
- stream=file,
- verbosity=2,#测试报告的详细程度
- )
- runner.run(suite)#执行测试用例
- test_add_two_num (requesttest.math.TestMathmethod.TestMathmethod) ... ok
- test_sub_two_num (requesttest.math.TestMathmethod.TestMathmethod) ... ok
-
- ----------------------------------------------------------------------
- Ran 2 tests in 0.000s
-
- OK
(5)生成测试报告方法三(HTML的方式)
-
- import unittest
- from HTMLTestRunner import HTMLTestRunner
- from requesttest.math.TestMathmethod import TestMathmethod
-
- suite=unittest.TestSuite()#收集测试用例
- loader=unittest.TestLoader()#加载测试用例
- suite.addTest(loader.loadTestsFromTestCase(TestMathmethod))
-
- fp=open('D:\\test\\unittest1.html','wb')#创建测试报告,以写的方式存入某个路径
- runner=HTMLTestRunner(
- stream=fp,
- title="加法测试",
- description="用例执行情况:"
- )
- runner.run(suite)
- fp.close()
Python接口自动化测试零基础入门到精通(2023最新版)