python3接口自动化02(用例编写login)

开始步骤:

1.准备好一个登陆的测试用例,login为开发写的登陆代码,testcase为书写的测试用例
2.创建一个测试用例启动文件run_text,准备好HTMLTestrunner并生成测试报告report

(1)开发的接口代码(一般可以从接口文档中获取接口进行用例设计)

python3接口自动化02(用例编写login)_第1张图片

login.py

"""
开发写好的代码
"""

def login_check(username=None, password=None):
    """
    登录校验的函数
    :param username: 账号
    :param password:  密码
    :return: dict type
    """
    if all([username, password]):
        if username == 'python24' and password == 'lemonban':
            return {"code": 0, "msg": "登录成功"}
        else:
            return {"code": 1, "msg": "账号或密码不正确"}
    else:
        return {"code": 1, "mgs": "所有的参数不能为空"}

#怎样进行用例的测试方案?(这一块是自己用来测试的)
if __name__ == '__main__':
    expected = {"code": 0, "msg": "登录成功"}
    result = login_check(username = 'python24',password = 'lemonban')
    if expected == result:
        print("用例执行通过")
    else:
        print("用例执行不通过")

 

(2)开始编写用例,这里编写了一个登陆成功的接口用例

python3接口自动化02(用例编写login)_第2张图片 

testcase.py

'''
作者:seak
时间:
项目:
题目:
作用:
备注:
1.编写登录成功的测试用
'''
import unittest


#测试用例类:自己定义的类只要继承于unittest中的TestCase,那么这个类就是一个测试用例类
#定义一个测试用例类,并写好前置条件
from step.py_api_01.login import login_check


class LoginTestCase(unittest.TestCase):

    #编写测试用例
    #测试用例:测试用例类中,以test开头的方法就是一条测试用例
    #用例执行通没通过的评判标准:断言异常
    #用例3步骤:
    #(1)准备用例数据,准备预期结果
    #(2)获取实际结果
    #(3)断言

    def test_login_pass(self):
        #(1)准备用例数据,准备预期结果
        data = ("python24", "lemonban")
        expected = {"code": 0, "msg": "登录成功"}
        #(2)获取实际结果
        result = login_check(*data)
        #(3)进行断言
        self.assertEqual(expected,result)

# # 如果直接运行这个文件,就使用unittest中的main函数来执行测试用例
# if __name__ == '__main__':
#     unittest.main()

 

(3)创建一个测试用例启动文件run_text,准备好HTMLTestrunner,report会自动生成

python3接口自动化02(用例编写login)_第3张图片 

run_test.py

'''
执行启动的测试文件
'''
import unittest
import testcases
import step.py_api_01.HTMLTestRunnerNew

# 第一步,创建一个测试套件
suite = unittest.TestSuite()

# 第二步:将测试用例,加载到测试套件中

# 第1种,通过模块去加载用例
# 创建一个加载对象

loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromModule(testcases))

# 第三步:创建一个测试运行程序启动器
runner = step.py_api_01.HTMLTestRunnerNew.HTMLTestRunner(stream=open("report.html", "wb"),  # 打开一个报告文件,将句柄传给stream
                                                         tester="seak,小海",  # 报告种显示的测试人员
                                                         description="第一份测试报告",  # 报告种显示描述信息
                                                         title="测试报告")                 # 报告的标题

# 第四步:使用启动器去执行测试套机
runner.run(suite)


'''
补充:
# 第二步:将测试用例,加载到测试套件中

# 第1种,通过模块去加载用例
# 创建一个加载对象
import testcases

loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromModule(testcases))

# 第2种:通过测试用例类去加载
# import testcases
# loader = unittest.TestLoader()
# suite.addTest(loader.loadTestsFromTestCase(testcases.LoginTestCase))

# 第3种 :添加单条测试用例
# from testcases import LoginTestCase
# 创建一个用例对象
# 注意点:通过用例类去创建测试用例对象的时候,需要传入用例的方法名(字符串类型)
# case = LoginTestCase("test_login_pass")
# suite.addTest(case)

# 第4种,指定测试用例的所在的目录路径,进行加载()
# loader = unittest.TestLoader()
# suite.addTest(loader.discover(r"用例文件所在的目录的绝对路径"))

'''

运行run_test测试:

python3接口自动化02(用例编写login)_第4张图片 

这里看着不方便可以去生成的report上面看 

python3接口自动化02(用例编写login)_第5张图片

python3接口自动化02(用例编写login)_第6张图片

你可能感兴趣的:(#,python接口自动化)