预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共45页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

WEB自动化测试培训32016/06/03课程讲师肖能尤课程目的熟悉和掌握Unittest单元测试框架课程内容Unittest单元测试框架介绍unittest是python的单元测试框架在python的官方文档中对unittest有详细的介绍想更深一步研究的同学可以到去了解当然我这里也会接介绍的。unittest单元测试提供了创建测试用例测试套件以及批量执行的方案unittest在安装pyhton以后就直接自带了直接importunittest就可以使用。作为单元测试的框架unittest也是可以对程序最小模块的一种敏捷化的测试。在自动化测试中我们虽然不需要做白盒测试但是必须需要知道所使用语言的单元测试框架这是因为把selenium2的API全部学习完后就会遇到用例的组织问题虽然函数式编程和面向对象编程提供了对代码的重构但是对于所编写的每个测试用例总不能编写成一个函数(方法)来调用执行吧?很显然这是不明智的作法。利用单元测试框架创建一个类该类继承unittest的TestCase这样可以把每个case看成是一个最小的单元由测试容器组织起来到时候直接执行同时引入测试报告(这是一直所期望的)对于unittest部分下面详细的依次介绍。unittest各组件的关系为:unittest模块实战unittest支持测试的自动化处理也同时包含测试的初始化和结束测试以及把测试用例按模块化封装成一个测试套件来进行批量的处理。在一个模块化的测试用例中包含共同的代码如公司教务网的登录的测试用例都得先打开浏览器访问项目地址执行测试用例完成后关闭浏览器结束测试一般开始使用“setUp”表示结束使用“tearDown”setUp和tearDown被称为测试固件。在测试执行的时候setUp首先被执行而且仅会执行一次这个方法执行通过后不管后面的测试是否通过都会执行tearDown来结束测试。在unittest中提供了TestRunner来为运行测试该类对象提供了run方法其中接受TestCase或者TestSuite参数并且返回测试结果一般经常使用的是TextTestRunner运行器可以看成是测试容器。下面写以教务网的登陆例子来验证登陆这个用例是否登陆成功来说明备注:切记在unittest中测试用例必须以test开头。实现的代码:代码:#-*-coding:utf-8-*-fromseleniumimportwebdriverfromselenium.webdriver.support.uiimportSelectimportunittesttimereclassLogin(unittest.TestCase):defsetUp(self):self.driver=webdriver.Firefox()self.driver.implicitly_wait(30)self.base_url=""deftest_login(self):'''checkloginsuccessorfail'''driver=self.driverdriver.get(self.base_url)driver.find_element_by_id("txtUserName").clear()driver.find_element_by_id("txtUserName").send_keys("18634564149")driver.find_element_by_id("txtPassword").clear()driver.find_element_by_id("txtPassword").send_keys("123123")time.sleep(2)driver.find_element_by_link_text(u"登录").click()time.sleep(1)deftearDown(self):self.driver.quit()if__name__=="__main__":unittest.main(verbosity=2)运行结果:脚本讲解:我们来详细的介绍下如上的代码和输出结果导入了unittest创建了测试的类(测试模块名称)继承TestCase在测试固件中分别写的测试时候的初始化和测试结束后资源释放的代码中间test_login是测试用例也就是自动化的测试用例在主函数中直接调用main()在main中加入ver