一, unittest 原理( https://docs.python.org/3/library/unittest.html )
1,unittest 框架包含哪些内容?
- TestFixture:
- SetUp
- TestCase
- TearDown
- TestCase
- TestSuite
- TestRunner
- import unittest
- class WidgetTestCase(unittest.TestCase):
- def setUp(self):
- self.widget = Widget('The widget')
- def test_default_widget_size(self):
- self.assertEqual(self.widget.size(), (50,50),
- 'incorrect default size')
- def test_widget_resize(self):
- self.widget.resize(100,150)
- self.assertEqual(self.widget.size(), (100,150),
- 'wrong size after resize')
- def tearDown(self):
- self.widget.dispose()
- def suite():
- suite = unittest.TestSuite()
- suite.addTest(WidgetTestCase('test_default_widget_size'))
- suite.addTest(WidgetTestCase('test_widget_resize'))
- return su
- if __name__ == '__main__':
- runner = unittest.TextTestRunner()
- runner.run(suite())
二, DDT - 数据驱动( https://ddt.readthedocs.io/en/latest/example.html )
1, 什么是数据驱动?
数据驱动测试, 即黑盒测试, 又称为功能测试
数据驱动单元测试, 为数据源中的每行, 重复进行一种单元测试
数据驱动单元测试, 常用情况是使用多个输入值测试 API
"测试数据" 与 "执行代码" 分离
2,DDT 的原理?
Python 下的数据驱动框架名称也叫 DDT(Data-Driven Tests)
效果: 使用多个数据运行一条用例, 使其表现为多条用例
原理: 通过 Python 的装饰器, 装饰每条用例
3, 数据驱动测试的意义?
1. 代码复用率高, 一次编写多条数据复用逻辑
2. 异常排查效率高, 测试执行隔离, 数据间无影响
3. 代码可维护性高, 提高代码的易读性
三, Lettuce - 行为驱动
1, 什么是行为驱动?
行为驱动开发, Behavior-Driven Development, 简写 BDD
在软件工程中, BDD 是一种敏捷软件开发的技术
用自然语言书写非程序员可读的测试用例
2,Lettuce 的原理?
Lettuce 是基于 Python 语言的行为驱动测试框架
Lettuce 将测试用例和自动化测试代码分离
Lettuce 写测试用例就像写文本一样清晰
四, KDT - 关键字驱动
1, 什么是关键字驱动?()
关键字驱动测试 (keyword-driven testing) 也称为表格驱动测试或行动字驱动测试
它将创建测试程序的步骤分为规划和实现两个阶段
关键字驱动使不懂代码的人可以完成自动化过程
2,Robot Framework 的原理?
基于 RIDE 可视化工具, 导入类库(例如: AppiumLibrary)
使用 AppiumLibrary 中提供的关键字, 实现用例过程
使用 RIDE 完成用例的执行和结果的管理
五, 生成测试报告
1, 如何收集测试结果?()
使用 HTMLTestRunner.py 生成 HTML 测试报告
2, 如何管理测试报告?
以时间戳作为报告的名称
六, 测试邮件通知
1, 如何定义自己的邮件服务?
邮箱设置(SMTP)
2, 如何自动发送测试报告?
使用 SendReport.py 发送测试报告
来源: http://www.bubuko.com/infodetail-3074686.html