博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium webdriver (13) -- 结合pyunit生成测试报告
阅读量:5865 次
发布时间:2019-06-19

本文共 3755 字,大约阅读时间需要 12 分钟。

  hot3.png

测试包含测试用例设计,测试执行,测试报告输出

测试用例设计一般是静态的,以文档的方式进行存储

测试执行,可以是手动的,也可以自动化用例执行

测试报告,可以是手动的,按照一定格式的测试报告,也可以是自动化生成的,其目的是看清哪些用例测试成功,哪些用例测试失败

这边以一个小的测试为例来说明,自动化测试如何从头到尾的进行

测试目录如图

test_project/.............report/                          测试报告.............test_case/                       测试用例.............runtest.py                       测试执行

首先设计两个用例,测试百度搜索页以及有道翻译页

test_baidu.py

#coding:utf-8import sys                                                 #编码问题reload(sys)sys.setdefaultencoding('utf8')from selenium import webdriverimport unittestimport timeclass MyTest(unittest.TestCase):                           #测试用unittest测试工具        def setUp(self):        self.driver = webdriver.Firefox()                self.driver.maximize_window()                self.driver.implicitly_wait(10)                self.base_url = "http://www.baidu.com"                    def test_baidu(self):        driver = self.driver        driver.get(self.base_url+'/')                driver.find_element_by_id("kw").clear()                driver.find_element_by_id("kw").send_keys("unittest")                driver.find_element_by_id("su").click()                time.sleep(2)                title = driver.title        self.assertEqual(title, "unittest_百度搜索")        #检查点是跳转页面标题                 def tearDown(self):        self.driver.close()                if __name__ == '__main__':                                #该文件以模块方式存在,如果直接执行该文件,则文件名为'__main__',执行main函数    unittest.main()

test_youdao.py

#coding:utf-8import sysreload(sys)sys.setdefaultencoding('utf8')from selenium import webdriverimport unittestimport timeclass MyTest(unittest.TestCase):        def setUp(self):        self.driver = webdriver.Firefox()                self.driver.maximize_window()                self.driver.implicitly_wait(10)                self.base_url = "http://www.youdao.com"                    def test_youdao(self):        driver = self.driver        driver.get(self.base_url+"/")                driver.find_element_by_id("translateContent").clear()        driver.find_element_by_id("translateContent").send_keys("webdriver")                driver.find_element_by_id("translateContent").submit()        time.sleep(2)                title = driver.title        print title        self.assertEqual(title, "【webdriver】什么意思_英语webdriver的翻译_音标_读音_用法_例句_在线翻译_有道词典")                #检查点是跳转的页面标题     def tearDown(self):        self.driver.close()                if __name__ == '__main__':    unittest.main()

run_test.py

import unittestimport test_case.test_baiduimport test_case.test_youdaofrom HTMLTestRunner import HTMLTestRunner          #首先下载一个HTMLTestRunner.py放到sys.path中,可以进行导入用HTMLTestRunner产生一个HTML的测试报告import time#suite = unittest.TestSuite()##suite.addTest(test_baidu.MyTest('test_baidu'))#suite.addTest(test_youdao.MyTest('test_youdao'))test_dir = './test_case'                           #测试用例存放路径以当前目录进行寻找#当用例很多,并且放在很多文件中,此时如果还是用suite一个一个加用例到suite中再执行就会显得很麻烦,#discover也是一个自动化过程,在一个路径下,自动匹配test*.py的文件作为测试用例discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')if __name__ == '__main__':    #    runner = unittest.TextTestRunner()    #    runner.run(suite)    now = time.strftime("%Y-%m-%d %H_%M_%S")         #产生当前时间,以’年-月-日 小时_分钟_秒‘的格式    filename = './report/' + now + 'result.html'     #产生文件名包括路径,这样每次产生的文件不重名       fp = open(filename, 'wb')                        #以写的方式打开文件    runner = HTMLTestRunner(stream=fp,               #HTMLTestRunner生成实例                             title='百度搜索测试报告',                            description='用例执行情况:')                                                            runner.run(discover)                             #跑discover中的所有用例

参考:

Selenium2自动化测试实战》

selenium python buildings release 2

转载于:https://my.oschina.net/hding/blog/726958

你可能感兴趣的文章
Mongodb启动命令mongod参数说明
查看>>
将CentOS安装到U盘
查看>>
JDK8中ArrayList的工作原理剖析
查看>>
使用命令行启动服务
查看>>
Android实现的网络收音机示例利用Vitamio组件
查看>>
获取AFP共享的文件夹及其权限
查看>>
k8s 手动重装系统(因各种原因)
查看>>
VMware Workstation 12 Pro 虚拟机的使用(三)虚拟机的一些自定义设置
查看>>
CentOS启动时报错修复
查看>>
sersync问题
查看>>
Lync 2010 企业版 部署 准备工作
查看>>
vscode linux ubuntu18.04 安装
查看>>
如何用JavaScript进行数组去重
查看>>
我的友情链接
查看>>
unit13-unit15
查看>>
Linux编译+更换3.4版本内核教程
查看>>
运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)
查看>>
安装Ubuntu虚拟系统
查看>>
linux-日常运维- unit介绍
查看>>
给flv添加关键帧
查看>>