赵走x博客
网站访问量:151555
首页
书籍
软件
工具
古诗词
搜索
登录
5、TestCase类
4、unittest单元测试框架
3、支持跨浏览器
2、 第一个Selenium Python脚本
1、基于Python的Selenium WebDriver入门
4、unittest单元测试框架
资源编号:75971
Selenium自动化测试:基于Python语言
书籍
热度:96
Selenium WebDriver是一个浏览器自动化测试的API集合。它提供了很多与浏览器自动化交互的特性,并且这些API主要是用于测试Web程序。如果仅仅使用Selenium WebDriver,我们无法实现执行测试前置条件、测试后置条件,比对预期结果和实际结果,检查程序的状态,生成测试报告,创建数据驱动的测试等功能。
Selenium WebDriver是一个浏览器自动化测试的API集合。它提供了很多与浏览器自动化交互的特性,并且这些API主要是用于测试Web程序。如果仅仅使用Selenium WebDriver,我们无法实现执行测试前置条件、测试后置条件,比对预期结果和实际结果,检查程序的状态,生成测试报告,创建数据驱动的测试等功能。 在本章,我们将学习如何使用unittest来创建基于Python的Selenium WebDriver测试脚本。 本章包含以下主题: * 什么是unittest? * 使用unittest来写Selenium WebDriver测试; * 用TestCase类来实现一个测试; * 学习unittest提供的不同类型的assert方法; * 为一组测试创建TestSuite; * 使用unittest扩展来生成HTML格式的测试报告。 unittest(一般称为PyUnit)是从Java程序开发中广泛应用的JUnit启发而来的。我们可以使用unittest为任何项目创建全面的测试套件。unittest也是Python中用来测试各种标准类库模块的,甚至包括unittest自己。可以在以下网址查看unittest的文档:http://docs.python.org/2/library/unittest.html 。 unittest使我们具备创建测试用例、测试套件、测试夹具的能力。可以通过下面的图来了解所有的组件。  * Test Fixture(测试夹具):通过使用测试夹具,可以定义在单个或多个测试执行之前的准备工作和测试执行之后的清理工作。 * Test Case(测试用例):一个测试用例是在unittest中执行测试的最小单元。它通过unittest提供的assert方法来验证一组特定的操作和输入以后得到的具体响应。unittest提供了一个名称为TestCase的基础类,可以用来创建测试用例。 * Test Suite(测试套件):一个测试套件是多个测试或测试用例的集合,是针对被测程序的对应的功能和模块创建的一组测试,一个测试套件内的测试用例将一起执行。 * Test Runner(测试执行器):测试执行器负责测试执行调度并且生成测试结果给用户。测试执行器可以使用图形界面、文本界面或者特定的返回值来展示测试执行结果。 * Test Report(测试报告):测试报告用来展示所有执行用例的成功或者失败状态的汇总,执行失败的测试步骤的预期结果与实际结果,还有整体运行状况和运行时间的汇总。 通过与unittest类似的xUnite测试框架创建的测试被拆分为3部分,即3A’s,具体如下。 * Arrange:是用来初始化测试的前置条件,包含 初始化被测试的对象、相关配置和依赖。 * Act:用来执行功能操作。 * Assert:用来校验实际结果与预期结果是否一致。 我们在本章接下来的内容中将应用此方法来使用unittest创建测试。 >我们将在本书接下来的部分使用unittest来创建和运行基于Selenium WebDriver的测试。另外,Python还有些具备额外特性的其他测试框架,例如:Nose:此框架扩展了unittest并且提供了自动搜索和运行测试的功能,也提供了一些插件来创建高级的测试。可以在以下网站查看关于Nose的更多信息:https://nose.readthedocs.org/en/latest/ Pytest:Pytest是另外一个测试框架,它提供了一些基于Python来编写和运行单元测试的高级特性。可以在以下网站查看关于Pytest的更多信息:http://pytest.org/latest/