怎么用php做网站方案,营销传播服务,微网站和小程序的区别,苏州企业网站建设服务好一、环境搭建 python unittest requests实现http请求的接口自动化Python的优势#xff1a;语法简洁优美, 功能强大, 标准库跟第三方库灰常强大#xff0c;建议大家事先了解一下Python的基础;unittest是python的标准测试库#xff0c;相比于其他测试框架是python目前使用最广…一、环境搭建 python unittest requests实现http请求的接口自动化Python的优势语法简洁优美, 功能强大, 标准库跟第三方库灰常强大建议大家事先了解一下Python的基础;unittest是python的标准测试库相比于其他测试框架是python目前使用最广的测试框架。Requests 是用Python语言编写基于urllib采用Apache2 Licensed开源协议的HTTP 库。它比urllib 更加方便可以节约我们大量的工作完全满足HTTP 测试需求。在CMD命令行执行命令加载request第三方库pip install requests python -m pip install pillow
二、方法
pip安装requests第三方库然后引入import requests引入json标准库美化json输出import json调用requests库中的post方法会给出所需要的参数,传入上面定义的url和data参数运行.py文件就执行了post请求。 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 methodpost:resrequests.post(url,data)#post请求方法else:resrequests.get(url,data)#get请求方法print(res.text)#以源码形式输出print(res.json())#以json形式输出#创建实例调用函数
test1Login()
login_urlhttps://www.******/pc/member/sign
login_data{flag:mobile,password:f5e05a41724115d076bfb1fd2bd9613e,mobile_phone:136********}
login_methodpost
test1.httprequests(login_url,login_data,login_method) 三、单元测试
什么是单元测试单元测试就是对代码进行测试本质就是对类或者函数进行测试什么时候进行单元测试代码完成后就开始进行测试由谁进行单元测试一般有开发自己进行测试目的尽可能早的介入测试发现底层代码中的问题方法使用unittest方法包import unittest 1先创建一个加法类-Mathmethod存入Mathmethod.py文件 #定义一个数学加法类
class Mathmethod():def add(self,a,b):return(ab)def sub(self,a,b):return(a-b) 2然后创建测试用例-TestMathmethod import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math.Mathmethod import Mathmethod # 引入Mathmethod模块
#import HTMLTestRunnerNewclass TestMathmethod(unittest.TestCase):#创建TestMathmethod类继承unittest.TestCase方法#编写测试用例函数命名必须以test_开头def test_add_two_num(self):resMathmethod().add(3,6)print(两个数值相加结果是,res)self.assertEqual(9,res)def test_sub_two_num(self):resMathmethod().sub(9,8)print(两个数值相减结果是, res)self.assertEqual(1,res) 3创建测试报告-使用HTML方法 import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math.TestMathmethod import TestMathmethodtestunitunittest.TestSuite()#生成单元测试流程
testunit.addTest(TestMathmethod(test_add_two_num))
testunit.addTest(TestMathmethod(test_sub_two_num))#加载一条测试用例
fpopen(D:\\test\\unittest1.html,wb)#创建测试报告以写的方式存入某个路径
runnerHTMLTestRunner(streamfp,title加法测试,description用例执行情况)
runner.run(testunit)
fp.close() 4也可使用txt的形式输出测试报告 import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math.TestMathmethod import TestMathmethodsuiteunittest.TestSuite()#收集测试用例
loaderunittest.TestLoader()#加载测试用例-按照类的方法添加一个类下面的所有测试用例
suite.addTest(loader.loadTestsFromTestCase(TestMathmethod))
fileopen(test_case.txt,w)#测试报告的存储路径和测试报告的读写方式
runnerunittest.TextTestRunner(streamfile,verbosity2,#测试报告的详细程度
)
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.000sOK
5生成测试报告方法三HTML的方式 import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math.TestMathmethod import TestMathmethodsuiteunittest.TestSuite()#收集测试用例
loaderunittest.TestLoader()#加载测试用例
suite.addTest(loader.loadTestsFromTestCase(TestMathmethod))fpopen(D:\\test\\unittest1.html,wb)#创建测试报告以写的方式存入某个路径
runnerHTMLTestRunner(streamfp,title加法测试,description用例执行情况)
runner.run(suite)
fp.close() Python接口自动化测试零基础入门到精通2023最新版