unittest与selenium(二)

unittest与selenium

Testcase目录存放测试用例

测试用例testcase .py

testcase .py

from Business.Login import Login
import unittest


class Test(unittest.TestCase):
    def setUp(self):
        print('hello')

    def tearDown(self):
        print('bye')

    # 定义正确登陆的测试用例
    def test_001(self):
        log = Login()
        # 用账号密码登录
        log.login('hack_ai_buster','1qaz2wsx#EDC')
        # 获取登录之后的用户名
        data = log.get_text('class','hd_login_name')
        # 断言,判断登录后的用户名是否和预期用户名相同
        self.assertEqual('hack_ai_buster',data)

    # 账号密码都不输入,直接登录
    def test_002(self):
        log = Login()
        # 用账号密码登录
        log.login('', '')
        # 获取登录之后的用户名
        data = log.get_text('id','error_tips')
        # 断言,判断登录后的用户名是否和预期用户名相同
        self.assertEqual('请输入账号和密码',data)

    # 只输入账号不输入密码,直接登录
    def test_003(self):
        log = Login()
        # 用账号密码登录
        log.login('sdfsdadfa', '')
        # 获取登录之后的用户名
        data = log.get_text('id', 'error_tips')
        # 断言,判断登录后的用户名是否和预期用户名相同
        self.assertEqual('请输入密码', data)

    # 只输入账号不输入密码,直接登录
    def test_004(self):
        log = Login()
        # 用账号密码登录
        log.login('sdfsdadfa', '')
        # 获取登录之后的用户名
        data = log.get_text('id', 'error_tips')
        # 断言,判断登录后的用户名是否和预期用户名相同
        self.assertEqual('请输入密码itcast', data)

if __name__ == '__main__':
    unittest.main()

注意:此时该py文件无法运行,因为运行选项中没有该文件
在这里插入图片描述

  1. 点击导航栏中的 run 一栏,选择编辑结构(Edit Configurations…)
    在这里插入图片描述
  2. 将原有文件全部删除
    在这里插入图片描述
  3. 选择python类型文件
    在这里插入图片描述
  4. 选择对应的文件
    在这里插入图片描述
    在这里插入图片描述

运行该文件,运行了4个测试用例
其中,第四个用例失败,第三个是警告,资源警告,并非报错
在这里插入图片描述

测试套件运行测试用例

同样需要使用上面的方式运行该文件
testsuit .py

import unittest
from Testcase.testcase import Test

class SuitTest(unittest.TestCase):
    def test_suit(self):
        case_list = ['test_001','test_002','test_003','test_004']
        # 创建测试套件
        mysuit = unittest.TestSuite()

        # 循环将测试用例放到测试套件中
        for case in case_list:
            mysuit.addTest(Test(case))

        # 创建测试运行器,设置为每一个测试用例生成测试报告,运行测试套件中的测试用例
        unittest.TextTestRunner(verbosity=2).run(mysuit)


if __name__ == '__main__':
    unittest.main()

运行结果,测试套件中第四个测试用例失败,和上面运行的结果一致
在这里插入图片描述

生成html格式测试报告

import unittest
from Testcase.testcase import Test
# 导入HtmlTextRunner,用于生成html的测试报告
from Commonlib.HTMLTestRunner import HTMLTestRunner

class SuitTest(unittest.TestCase):
    def test_suit(self):
        case_list = ['test_001','test_002','test_003','test_004']
        # 创建测试套件
        mysuit = unittest.TestSuite()

        # 循环将测试用例放到测试套件中
        for case in case_list:
            mysuit.addTest(Test(case))

        # 创建测试运行器,设置为每一个测试用例生成测试报告,运行测试套件中的测试用例
        # unittest.TextTestRunner(verbosity=2).run(mysuit)

        # 生成html测试报告
        with open('report.html','wb')as f:
            HTMLTestRunner(
                stream=f,           # 相当于f.write(报告)
                title='第一个测试报告',
                description='第一个测试报告',
                verbosity=2         # 为每个测试用例生成测试报告
            ).run(mysuit)


if __name__ == '__main__':
    unittest.main()

运行该文件,Testcase目录下就多出一个html文件
在这里插入图片描述
点开本地文件夹,查看该html文件
在这里插入图片描述

HTMLTestRunner.py文件及该项目

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值