接口测试:
uuittest 模块:
unittest模块的测试用例,属于自动化的门槛,进去了基本算自动化入了门,测试内容很简单,模拟给url推送用户名、密码测试登录功能
登录:
#login_test.py
import requests
class Login():
def test_login(self,username,password):
url = "http://localhost:8080/login"
user_pwd = {}
user_pwd["mobilephone"] = username
user_pwd["pwd"] = password
result = requests.get(url, params=user_pwd)
list = (result.text).split(",")
return list[3].split(":")[1].split("}")[0]
if __name__ == '__main__':
result = Login()
Return = result.test_login("18688773461","123456")
print(Return)

测试:
#test_case.py
from login_test import Login
from ddt import ddt,unpack,data
from openpyxl import load_workbook
import unittest
@ddt
class Run_Test(unittest.TestCase):#继承unittest.TestCase
"""
读取excel文件和cfg文件中数据
:param xlsx:
:param ws:
:return:
"""
wb = load_workbook("login_data.xlsx")
ws = wb.get_sheet_by_name("Sheet1")
list = []
list1 = []
for i in range(1, ws.max_row + 1):
list = []
for j in range(1, ws.max_column + 1):
str = ws.cell(i, j).value
list.append(str)
list1.append(list)
wb.close()
@data(*list1)
@unpack
def test_run1(self,Username,Password,Text):
self.Result = Login()
Return = self.Result.test_login(Username,Password)
self.assertEqual(eval(Return),Text)
#测试用例
if __name__ == '__main__':
unittest.main()
run.py:
#run_test.py
import unittest,HTMLTestRunnerNew
import test_case
class runtest():
def run_test_1(self):
# 创建测试套件
suite = unittest.TestSuite()
# 找到目录下所有的以test开头的Python文件里面的测试用例
all_test = unittest.defaultTestLoader.discover('.','test_*.py')
# 把所有的测试用例添加进来
for i in all_test:
suite.addTests(i)
# 打开一个保存结果的html文件
fp = open('res_1.html','wb')
# 生成执行用例的对象
runner = HTMLTestRunnerNew.HTMLTestRunner(stream=fp,title='2019年3月23日作业_测试报告',description='所有测试情况',tester = "桂马")
# 执行测试套件
runner.run(suite)
def run_test_2(self):
# 创建测试套件
suite = unittest.TestSuite()
# 测试套件中添加测试用例
loader = unittest.TestLoader()
suite.addTests(loader.loadTestsFromTestCase(test_case.Run_Test))
# 打开一个保存结果的html文件
fp = open('res_2.html', 'wb')
# 生成执行用例的对象
runner = HTMLTestRunnerNew.HTMLTestRunner(stream=fp, title='2019年3月23日作业_测试报告', description='所有测试情况',tester = "桂马")
# 执行测试套件
runner.run(suite)
def run_test_3(self):
# 创建测试套件
suite = unittest.TestSuite()
# 测试套件中添加测试模块
loader = unittest.TestLoader()
suite.addTests(loader.loadTestsFromModule(test_case))
# 打开一个保存结果的html文件
fp = open('res_3.html', 'wb')
# 生成执行用例的对象
runner = HTMLTestRunnerNew.HTMLTestRunner(stream=fp, title='2019年3月23日作业_测试报告', description='所有测试情况',tester = "桂马")
# 执行测试套件
runner.run(suite)
if __name__ == '__main__':
homework = runtest()
homework.run_test_1()
homework.run_test_2()
homework.run_test_3()