Time will tell.
Selenium WebDriver 是一个浏览器自动化测试的 API 集合。它提供了很多与浏览器自动化交互的特性,并且这些 API 主要是用于测试 Web 程序。
如果仅仅使用 Selenium WebDriver ,我们无法实现执行测试前置条件、测试后置条件,比对预期结果和实际结果,检查程序的状态,生成测试报告,创建数据驱动的测试等功能。
1、Unittest单元测试框架
Unittest(一般称为PyUnit) 是从 Java 程序开发中广泛应用的 JUnit 启发而来的。Unittest 使我们具备创建测试用例、测试套件、测试夹具的能力。
2、xUnite测试框架
Arrange:
- 是用来初始化测试的前置条件,包含初始化被测试的对象、相关配置和依赖。
Act:
- 用来执行功能操作。
Assert:
- 用来校验实际结果与预期结果是否一致。
3、TestCase类
通过继承TestCase
类并且在测试类中为每一个测试添加测试方法来创建单个测试或者一组测试。
4、使用Unittest
(1)定义一个继承于TestCase
类的子类。
(2)在类中定义setUp()
方法。
(3)编写测试方法
(4)代码清理(在类中定义tearDown()
方法)
(5)运行测试
1、一个测试用例是从setUp()
方法开始执行的,我们可以用这个方法在每个测试开始前去执行一些初始化的任务。可以是这样的初始化准备:比如创建浏览器实例,访问 URL ,加载测试数据和打开日志文件等。此方法没有参数,而且不返回任何值。当定义了一个setUp()
方法,测试执行器在每次执行测试方法之前优先执行该方法。
2、有了setUp()
方法,就可以写一些测试用来验证我们想要测试的程序的功能。测试方法命名以test
开头,这种命名约定通知 test runner 哪个方法代表测试方法。
3、类似于setUp()
方法在每个测试方法之前被调用,TestCase
类也会在测试执行完成之后调用tearDown()
方法来清理所有的初始化值。一旦测试被执行,在setUp()
方法中定义的值将不再需要,所以最好的做法是在测试执行完成的时候清理掉由setUp()
方法初始化的数值。
5、新建一个目录data
,创建一个文件category.txt
录入以下数据:
编程语言、Java、C++、PHP、Delphi、Python、Ruby、C语言、Erlang、Go、Swift、Scala、R语言、Veril