随笔分类 -  2-unittest/通用

摘要:1. 在setupclass中使用cls.***设置变量,不同用例之间无法实时共享参数变动 class Login(unittest.TestCase): """各testcase之间,不共享变量的值""" """可以在setup时设置全局变量,不同的case之间共享这个变量""" @classme 阅读全文
posted @ 2020-11-16 13:56 小虫虫大虫虫 阅读(907) 评论(0) 推荐(0) 编辑
摘要:装饰器如下: ''' 获取函数名及注释 ''' def get_fun_name_doc(func): @wraps(func) def inner(*args): logging.info('正在执行:{},测试场景为:{}'.format(func.__name__, func.__doc__) 阅读全文
posted @ 2020-05-07 18:13 小虫虫大虫虫 阅读(432) 评论(0) 推荐(0) 编辑
摘要:日志的级别: DEBUG < INFO < WARNING < ERROR < CRITICAL 日志书写格式: import logging logging.debug('4444444') logging.info('info message') logging.warning('warning 阅读全文
posted @ 2020-05-07 18:09 小虫虫大虫虫 阅读(294) 评论(0) 推荐(0) 编辑
摘要:如下图(前两个测试用例,没有用例描述): 原因是,前两个测试用例,添加了用例失败后截图的装饰器,而装饰器会重写被装饰函数的名称和docstring @Screen(driver) # 添加装饰器修饰,失败时自动截图 def test_search_2(self): '''搜索关键词selenium' 阅读全文
posted @ 2020-05-07 11:01 小虫虫大虫虫 阅读(255) 评论(0) 推荐(0) 编辑
摘要:1. parameterized parameterized是python的一个参数化库,同时支持unittest、nose、pytest单元测试框架 安装:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests parame 阅读全文
posted @ 2020-04-20 21:00 小虫虫大虫虫 阅读(1206) 评论(0) 推荐(1) 编辑
摘要:工程结构如下: test1.py 1 import unittest 2 3 4 class Test(unittest.TestCase): 5 '''我的第一个测试类''' 6 7 @classmethod 8 def setUp(self): 9 pass 10 11 def test_cas 阅读全文
posted @ 2020-04-02 17:12 小虫虫大虫虫 阅读(342) 评论(0) 推荐(0) 编辑
摘要:发送邮件时,report目录下有很多的测试报告,应发送最新的一个报告,主要使用如下方法: os.listdir() 列出文件 lists.sort() 排序 代码如下: 1 import os 2 3 result_dir = r'D:\zhangyang\PycharmProjects\test2 阅读全文
posted @ 2020-04-02 14:55 小虫虫大虫虫 阅读(197) 评论(0) 推荐(0) 编辑
摘要:按正文、附件、正文+附件,三种方式,分别举例(仅构造邮件部分不同): 实际使用中,可使用内容+附件方式 MIMEText:支持HTML格式的邮件正文 MIMEMultipart:支持带附件的邮件 1. 正文 1 import smtplib 2 from email.mime.text import 阅读全文
posted @ 2020-04-02 14:08 小虫虫大虫虫 阅读(859) 评论(0) 推荐(0) 编辑
摘要:1. 邮箱服务器: qq邮箱使用 smtp.qq.com 163邮箱使用 smtp.163.com 2. 运行时报错:smtplib.SMTPAuthenticationError: (535, b'Login Fail. Please enter your authorization code t 阅读全文
posted @ 2020-03-31 18:02 小虫虫大虫虫 阅读(554) 评论(0) 推荐(0) 编辑
摘要:目录结构如下: test1.py 1 import unittest 2 3 4 class Test(unittest.TestCase): 5 '''我的第一个测试类''' 6 7 @classmethod 8 def setUp(self): 9 pass 10 11 def test_cas 阅读全文
posted @ 2020-03-31 16:57 小虫虫大虫虫 阅读(385) 评论(0) 推荐(0) 编辑
摘要:1. 直接上代码,如下: 1 from HTMLTestRunner import HTMLTestRunner # 导入HTMLTestRunner模块 2 import unittest 3 import time 4 5 6 class Test(unittest.TestCase): 7 ' 阅读全文
posted @ 2020-03-31 16:27 小虫虫大虫虫 阅读(804) 评论(0) 推荐(0) 编辑
摘要:HTMLTestRunner是unittest的一个扩展,可以用来生成易于使用的HTML测试报告。HTMLTestRunner.py是一个独立的文件,既可以当做第三方库来使用,也可以把它当做项目的一部分来使用(可以定制生成的报告)。 当做第三方库的话,将HTMLTestRunner.py放到pyth 阅读全文
posted @ 2020-03-31 16:16 小虫虫大虫虫 阅读(241) 评论(0) 推荐(0) 编辑
摘要:测试用例是否执行通过,是通过判断测试得到的实际结果与预期结果是否相等决定的。unittest框架的TestCase类,提供以下方法用于判断测试结果: assertEqual(a, b, msg) 断言a和b是否相等,如果不相等则测试失败。msg为可选参数,用于失败时打印信息 assertNotEqu 阅读全文
posted @ 2020-03-30 14:58 小虫虫大虫虫 阅读(662) 评论(0) 推荐(0) 编辑
摘要:fixtures通过setup和teardown实现,除了测试用例之外,还提供类和模块的fixtures setUpModule/tearDownModule:在整个模块的开始与结束时被执行 setUpClass/tearDownClass:在测试类的开始与结束时被执行 setUp/tearDown 阅读全文
posted @ 2020-03-30 10:49 小虫虫大虫虫 阅读(213) 评论(0) 推荐(0) 编辑
摘要:运行测试时,可以设置直接跳过某些测试用例,或者当条件符合时执行或不执行。unittest提供了实现这些需求的装饰器。 unittest.skip(reason) 无条件地跳过 unittest.skipIf(condition, reason) 条件为真时,跳过 unittest.skipUnles 阅读全文
posted @ 2020-03-29 21:53 小虫虫大虫虫 阅读(310) 评论(0) 推荐(0) 编辑
摘要:问题: 如下,使用unittest的addTest,只添加1条测试用例,实际运行了4条 定位: pycharm的配置问题 解决方案: 1. 显示出工具条 2. 点击如图所示下拉按钮,选择Edit Configurations 3. 点击右上角的+号,选择python,右侧选择要执行的文件 4. 点击 阅读全文
posted @ 2020-03-29 16:46 小虫虫大虫虫 阅读(1105) 评论(0) 推荐(1) 编辑
摘要:以下三种方法: main()方法,执行当前文件中所有用例 TestSuite的addTest()方法,加载指定的测试用例 defaultTestLoader的discover()方法,加载指定目录下的指定文件 下面分别举例说明: 待测文件: 1 class Count: 2 def __init__ 阅读全文
posted @ 2020-03-29 16:28 小虫虫大虫虫 阅读(956) 评论(0) 推荐(0) 编辑
摘要:本文按照循序渐进的方法介绍测试用例的组织方式,实际工作中,可以借鉴方法三 待测文件: calculate.py文件 1 # 计算器类 2 class Count: 3 def __init__(self, a, b): 4 self.a = a 5 self.b = b 6 7 # 计算加法 8 d 阅读全文
posted @ 2020-03-29 12:02 小虫虫大虫虫 阅读(364) 评论(0) 推荐(0) 编辑
摘要:1. TestCase 一个TestCase的实例,就是一个测试用例。 测试用例:一个完整的测试流程,包括测试前的准备工作(setUp)、测试过程的代码、善后工作(tearDown) 单元测试的本质也就在这里,一个测试用例,也就是一个完整的测试单元 2. TestSuit 一个功能的验证往往需要多个 阅读全文
posted @ 2020-03-29 10:53 小虫虫大虫虫 阅读(1264) 评论(0) 推荐(0) 编辑
摘要:单元测试框架提供以下功能: 1. 用例的组织和执行(如何定义一条测试用例,如何控制这些用例的执行) 2. 丰富的断言方法(执行结果和预期结果的比较) 3. 丰富的日志(失败原因,执行结果如:总执行时间、失败用例数,成功用例数等) PS:单元测试框架不仅可以用来写测试用例,凡是涉及到自动化测试的工作, 阅读全文
posted @ 2020-03-29 10:16 小虫虫大虫虫 阅读(328) 评论(0) 推荐(1) 编辑