前言

前一篇已经介绍了报告的生成方法,本篇小编优化一下测试报告,使测试报告便于大多数阅读。虽然在我们在测试用例开发时为每个用例添加了注释,但测试报告一般是给非测试人员阅读的,如果能在报告中为每一个测试用例添加说明,那么将会使报告更加易于阅读。

下面还是以百度为例:

一、打开我们的测试用例文件,为每一个测试用例(方法)下面添加注释,如下:

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchAttributeException
import unittest,time,re
import HTMLTestRunner
class Baidu(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://www.baidu.com/"
self.verificationErrors = []
self.accept_next_alert = True
def test_baidu_search(self):
u"""百度搜索"""
driver = self.driver
driver.get(self.base_url + '/')
driver.find_element_by_id("kw").send_keys("selenium webdriver")
driver.find_element_by_id("su").click()
time.sleep(2)
driver.close()
def test_baidu_set(self):
u"""百度设置"""
driver = self.driver
#进入搜索设置页
driver.get(self.base_url + '/gaoji/preferences.html')
#设置每页搜索结果为 20 条
m=driver.find_element_by_name("NR")
m.find_element_by_xpath("//option[@value='20']").click()
time.sleep(2)
#保存设置的信息
driver.find_element_by_xpath("/html/body/form/div/input").click()
time.sleep(2)
driver.switch_to_alert().accept()
driver.close()
if __name__ == "__main__":
unittest.main() 打开测试报告:


小 u 是避免中文引起的乱码问题。

这样添加中文备注是不是就可读性很强了?大家可以自由的折腾了。

二、报告文件名取当前时间
每次运行测试之前之前都要手动的去修改报告的名称,如果有修改就会把之前的报告覆盖,这样做就会显示得很麻烦,那么有没有办法使每次生成的报告名称都不一样,为了更好的取分报告可以在报告中添加当前的时间,这样我们要想查找某天某时所生成的报告就会变得非常容易。
下面要修改一下执行测试用例的脚本,如下:
#coding=utf-8
import unittest
import time
#这里需要导入测试文件
import baidu
import HTMLTestRunner
testunit=unittest.TestSuite()
testunit.addTest(unittest.makeSuite(baidu.Baidu)) #将测试用例加入到测试容器(套件)中
now=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time())) #获取当前时间
filename= "D:\\python\\report\\"+ now +"result.html" #定义个报告存放路径,支持相对路径。把当前时间加到报告中
fp = open(filename,"wb")
runner =HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'测试报告',description=u'用例执行情况:')
runner.run(testunit)#执行测试用例 time.time() 获取当前时间戳
time.localtime() 当前时间的 struct_time 形式 重新运行所有测试用例,查看生成的测试报告的文件名,如图:


文件名以前面运行时间命名,所以很容易地找到想要的报告,而且在每次运行测试前不用修改手动修改报告的名字。

最新文章

  1. Win10删除 6个多余文件夹
  2. CSS3选择器(一)
  3. Logic and Fault simulation
  4. enum与typedef enum的用法
  5. 说说oracle中的面向对象与面向集合
  6. ExtJs之字段集FieldSet
  7. selenium测试框架篇
  8. 304. Range Sum Query 2D - Immutable
  9. ie8中支持 password 的 placeholder
  10. Android常用的一些make命令(转载)--不错
  11. HDU 5438 拓扑排序+DFS
  12. JavaScript 异步开发全攻略(转)
  13. ABP拦截器之UnitOfWorkRegistrar(一)
  14. Varnish http缓存服务器
  15. React中使用百度地图API
  16. 第二阶段——个人工作总结DAY08
  17. WPF简单数据绑定
  18. java.lang.ClassNotFoundException: org.thymeleaf.spring5.view.ThymeleafViewRe。。。。。。。。。。。
  19. django模型的继承
  20. Beta阶段 敏捷冲刺day1

热门文章

  1. 第十四次ScrumMeeting会议
  2. lintcode-123-单词搜索
  3. Storm ui 显示异常
  4. httpclient upload file
  5. Session接口常用方法
  6. BZOJ4446 SCOI2015小凸玩密室(树形dp)
  7. hdu 3486 Interviewe (RMQ+二分)
  8. [luogu P1442] 铁球落地
  9. How do I see what character set a database / table / column is in MySQL?
  10. Different Integers 牛客多校第一场只会签到题