unittest在命令行可以直接输出测试结果。但是可能需要生生一个所有测试的执行结果作为报告或者把测试报告发送给相关人员,给其发送命令行日志不是一个明智的选择。他们需要格式格式更加友好的测试报告,既能够查看测试结果的概况,也能深入查看报告细节,unittest没有内置模块可以生成格式友好的报告,可以使用 Wai Yip Tung 编写的unittest 的扩展  HTMLTestRunner来实现。

利用HTMLTestRunner来生成测试报告。创建一个包含实际吃报告的输出文件,需要配置HTMLTestRunner选项和运行测试。下载HTMLTestRunner.py 后放入到相应的python目录下,如本PC上的目录:“C:\Python27\Lib”,打开python自带的IDLE

在 Framework 工程下添加一个 report 模块,和config.py模块中的目录对应

REPORT_PATH = os.path.join(BASE_PATH, 'report')

修改test_baidu5.py模块

#coding:utf-8"""test_baidu5.py 生成html报告的功能"""
import os
import time
import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
from Framework.utils.config import Config, DRIVER_PATH, DATA_PATH,REPORT_PATH
from Framework.utils.log import logger
from Framework.utils.file_reader1 import ExcelReader
import HTMLTestRunnerclass TestBaiDu(unittest.TestCase):driver = NoneURL = Config().get('URL')excel = os.path.join(DATA_PATH,'baidu.xlsx')locator_kw = (By.ID, 'kw')locator_su = (By.ID, 'su')locator_result = (By.XPATH, '//div[contains(@class, "result")]/h3/a')print locator_resultdef sub_setUp(self):self.driver = webdriver.Chrome(executable_path=DRIVER_PATH + '/chromedriver.exe')self.driver.get(self.URL)print "DATA_PATH:",DATA_PATHdef sub_tearDown(self):self.driver.quit()def test_search(self):datas = ExcelReader(self.excel).dataprint datasfor d in datas:print "d['search']",d['search']self.sub_setUp()print "self.driver",self.driverself.driver.find_element(*self.locator_kw).send_keys(d['search'])self.driver.find_element(*self.locator_su).click()time.sleep(1)#开始是find_element,由于定位的是信息是一组信息(selenium和python selenium),因此需要使用find_elements()进行定位links = self.driver.find_elements(*self.locator_result)for link in links:logger.info(link.text)self.sub_tearDown()if __name__ == '__main__':#unittest.main(verbosity=2)#report = os.path.join(REPORT_PATH,'/report.html')report = REPORT_PATH + '\\report.html'print "report:",reportwith open(report,'wb') as f:runner = HTMLTestRunner(f,verbosity = 2,title = '自动化测试框架搭建',descripton = 'rhx Tests')runner.run(TestBaiDu('test_search'))

自动化测试框架搭建-报告-4相关推荐

  1. python安装robotframework报错_Python3+RIDE+RobotFramework自动化测试框架搭建过程详解

    Python2.7已于2020年1月1日开始停用,之前RF做自动化都是基于Python2的版本. 没办法,跟随时代的脚步,我们也不得不升级以应用新的控件与功能. 升级麻烦,直接全新安装. 一.Pyth ...

  2. Python+unittest+requests 接口自动化测试框架搭建 完整的框架搭建过程 实战

    一.Python+unittest+requests+HTMLTestRunner 完整的接口自动化测试框架搭建_00--框架结构简解 首先配置好开发环境,下载安装Python并下载安装pycharm ...

  3. UI自动化测试框架搭建——标记性能较差用例

    在拿到性能数据后需要将数据利用起来,下面对性能数据进行分析 实现:如果性能达到设定的阈值,那么这段时间执行的用例就是性能较差的用例 确定阈值 首先确定一个阈值来当做性能的告警值,暂定为以下算法 # t ...

  4. UI自动化测试框架搭建-标记性能较差用例

    在拿到性能数据后需要将数据利用起来,下面对性能数据进行分析 实现:如果性能达到设定的阈值,那么这段时间执行的用例就是性能较差的用例 确定阈值 首先确定一个阈值来当做性能的告警值,暂定为以下算法 # t ...

  5. 20.UI自动化测试框架搭建-标记性能较差用例

    在拿到性能数据后需要将数据利用起来,下面对性能数据进行分析 实现:如果性能达到设定的阈值,那么这段时间执行的用例就是性能较差的用例 确定阈值 首先确定一个阈值来当做性能的告警值,暂定为以下算法 # t ...

  6. 自动化测试框架搭建-日志-2

    在上一节的自动化测试框架搭建-[配置]的基础上为框架加上日志log,既然用到了log类,可以学习Python-logging进行学习,在utils中创建一个log.py文件,Python有很方便的lo ...

  7. python web自动化测试框架搭建(功能接口)——功能测试模块

    功能测试使用selenium,模块有: 1.futil: 公共方法,如元素高亮显示 # coding=utf-8 """高亮显示元素""" ...

  8. APP自动化测试框架搭建(五)--Python+Appium+pytest-html

    第一章 APP自动化环境搭建(Mac版) 第二章 APP自动化环境搭建(Windows版) 第三章 adb命令 第四章 元素定位.元素操作 第五章 APP自动化测试框架搭建 Python+Appium ...

  9. WEB UI自动化测试框架搭建(一)_公用方法Utils

    本栏目内的所有项目使用的都是PyCharm 2020.1专业版,可以下载后自行在网上找教程破解. WEB UI自动化测试框架搭建(一)~(七)源代码:https://download.csdn.net ...

最新文章

  1. Java报错解决:org.apache.http.ConnectionClosedException: Premature end of chunk coded message body: closi
  2. 比特币现金在奥地利成为主流
  3. 使用MYCAT作为Mysql HA的中间件(转)
  4. 内核中修改和保存defconfig的方法
  5. Java一致性Hash算法的实现
  6. 多游课堂C++ 百万并发网络通信引擎架构与实现学习笔记
  7. strak组件(9):关键字搜索
  8. Android图片上倒计时,Android自定义照相机倒计时拍照
  9. 报表控件NCreport教程:子查询系统设计
  10. 爱了!华为nova 5细节曝光:外观配置堪比Mate 20 Pro
  11. 原根求解算法 NTT算法
  12. Android 博文
  13. 菜鸟电子面单ISV云打印组件一致性改造心得
  14. 约4万个外国人名,中英对照
  15. 永久删除计算机文件怎么操作步骤,如何彻底删除电脑中的文件 永久删除文件方法...
  16. 彻底删除微软拼音输入法2003
  17. 关于周考的总结与反思
  18. 最近在听--《谁杀死了知更鸟》
  19. linux系统发生假死状态处理办法
  20. 零基础怎么学习平面设计,学习平面设计需要多久?

热门文章

  1. angular artDialog未及时更新
  2. PAT:1090. Highest Price in Supply Chain (25) AC
  3. Android直播app用什么技术可以做到延迟小一些?
  4. 开启Apache mod_rewrite模块(解决404 Not Found)
  5. .Net新手☞数据库操作
  6. 关于Puremvc的理解
  7. 格式化输出中的%s和%S的区别
  8. android6鼠标驱动,USB鼠标按键驱动(示例代码)
  9. java netfox_SpringFox集成原理
  10. EOS 智能合约源代码解读 (6)合约之action