使用unittest编写单元测试

Selenium WebDriver是一个浏览器自动化测试的API集合。提供很多与浏览器自动化交互的特性,并且这些API主要是用于测试Web程序

Unittest单元测试框架
unittest一般称为PyUnit,是python中用来测试各种标准类库模板的,甚至包括他自己。使我们具备创建测试用例、测试套件、测试夹具的能力。
Test Fixture(测试夹具):使用测试夹具,可以定义在单个或多个测试执行之前的准备工作和测试执行之后的清理工作
Test case(测试用例):是在unittest中执行测试的最小单元,通过unittest提供的assert方法来验证一组特定的操作和输入之后得到的具体响应。
Test Suite(测试套件):一个测试套件是多个测试或测试用例的集合,是针对被测程序的对应的功能和模块创建的一组测试,一个测试套件内的测试用例将一起执行。
Test Runner(测试执行器):测试执行器负责执行测试调度并且生成测试结果给用户。
Test Report(测试报告):用来展示所有执行测试用例的成功或者失败状态的汇总,执行失败的测试步骤的预期结果与实际结果,还有整体运行状况和运行时间的汇总。

Testcase类
通过继承Testcase类并在测试类中为每一个测试添加测试方法来创建单个测试或一组测试。为了创建测试,我们需要使用TestCase类中的assert或者使用其中的一种assert方法。每个测试最重要的任务是调用assertEqual()来校验预期结果,使用assertTrue()来验证条件,调用assertRaises()来验证预期的异常。
也可以添加测试夹具——setUP()方法和tearDown()方法,创建或处置测试用例所需要的任何对象和条件。

引入Unittest模块,定义一个继承于Testcase类的子类:

import  unittest
from  selenium import webdriver

class SearchTest(unittest.TestCase):

setUP()方法
一个测试用例是从setUP()方法开始执行的,用这个方法在每个测试开始前去执行一些初始化的任务。可以是这样的初始化准备:创建浏览器实例,访问URL,加载测试数据和打开日志文件等。
这个 方法没有参数,不返回任何值。当定义了一个setUP()方法,测试执行器在每次执行测试方法之前优先执行该方法。

用setUP()方法来创建Firefox的实例,设置Properties,在测试开始执行前访问到被测程序的主页;

import unittest
from selenium import webdriver

class SearchTest(unittest.TestCase):
def setUP(self):
#create a new Firefox session
self.driver =  webdriver.Firefox()
self.driver.implicitly_wait(30)
self.driver.maximize_window()

#navigate  to  the  application home page
self.driver.get("http://demo.magentocommerce.com/")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值