python基于unittest框架实现的登录测试实例

1.首先建立一个命名为login.py的文件,并写上登录过程中需要调用的方法login_check()
  • 其中username是要测试用例的登录用户名
  • password是测试用力的登陆密码
  • 程序返回值是测试的实际结果,字典中的’msg’用作与期望结果进行比对
def login_check(username,password):
    '''
    :param username: 登录用户名
    :param password: 登录密码
    :return:
    '''
    if  6<=len(password)<=18:
        if username=='admin' and  password=='123456':
            return {'code':0,'msg':'登录成功'}
        else:
            return {'code':1,'msg':'账号密码不正确'}
    else:
        return {'code':1,'msg':'密码长度在6-18之间'}

设计测试用例验证上面登录是否正常

  1. 账号密码对
  2. 账号密码不匹配
  3. 密码小于6 4. 密码大于18
  4. 账号错误
2.接着新建立一个login_test.py文件写一个用于运行测试用例的类
  • 首先引用之前写号的login.py文件,下面需要引用login_check方法
  • 在类里面继承unittest.TestCase类
  • method是调用该类时需要调用的此类里面的方法名
  • 入参username和password是测试用例的账号密码
  • ex是测试用例的预期结果,与login_check方法的返回值中的’msg’运用断言作比较,来判断此实际结果是否符合预期结果并输出
# -*- coding:utf-8 -*-
import unittest
from ‘’‘上一个login文件的目录 ’‘’ import login


class Login_test(unittest.TestCase):
    def __init__(self,method,username,password,ex):
        super().__init__(method)
        self.username=username
        self.password=password
        self.ex=ex

    def test_login(self):

        result= login.login_check(self.username,self.password)
        excepted = result['msg']

        try:
            self.assertEqual(excepted, self.ex)
        except AssertionError as e:
            print("该用例未通过")
            result = '不通过'
            raise e
        else:
            print("该用例通过")
            result = '通过'
3.最后建立一个run_test.py文件来写测试集
# -*- coding:utf-8 -*-

from day2.day9 import login_test    #引用之前写好的login_test文件
import unittest

s=unittest.TestSuite()
data=[('test_login','admin','123456','登录成功'),
           ('test_login','adddd','123456','账号密码不正确'),
           ('test_login','admin','11234565','账号密码不正确'),
           ('test_login','admin','12345','密码长度在6-18之间'),
           ('test_login','admin','12345678912345678912','密码长度在6-18之间')]
           #写把测试用例写入集合中

for i in data:
	s.addTest(login_test.Login_test(*i))   
 #将集合里面的字典打散输入写好的Login_test类里面

r=unittest.TextTestRunner()
r.run(s)
#运行测试用例
  • 也可以用excel写好测试用例然后用openpyxl模块读取测试用例并输入
    在这里插入图片描述
from day2.day9 import login_test
import unittest
import openpyxl

s=unittest.TestSuite()
wb=openpyxl.load_workbook('test_code.xlsx')
sheet=wb['Sheet1']
maxrow=sheet.max_row
name_list=[]
pwd_list=[]
ex_list=[]
for i in range(2,maxrow+1):
    name_list.append(sheet.cell(row=i,column=1).value) 
    pwd_list.append(str(sheet.cell(row=i,column=2).value))
    ex_list.append(sheet.cell(row=i,column=3).value)

count=len(name_list)
for i in range(0,count):
    data=('test_login',name_list[i],pwd_list[i],ex_list[i])
    s.addTest(login_test.Login_test(*data))

r=unittest.TextTestRunner()
r.run(s)

在这里插入图片描述
(转载注明出处)

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值