python自动化测试_6

接口测试:

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)

img

测试:

#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()
原文地址:https://www.cnblogs.com/shaozheng/p/12875611.html