1.说明

在我前一篇文件(Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE ))中简单的写明了,如何生产测试报告,但是使用IDLE很麻烦,而且在实际的项目中也不方便,所以,查了很多资料来研究如何在PyCharm中生成测试报告,故此记录一下(命名什么的不规范就不要纠结了)。

2.步骤

第一步:下载HTMLTestRunner.py

参考:Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE )

第二步:PyCharm中生成测试报告

前提:方法运行成功,显示ok,但是没有生成测试报告,此时可以采用一下几种方法中的其中一种,进行处理,然后就可以顺利的生成测试报告啦~~

方法一:修改运行路径(比较麻烦,每次运行的文件可能都会更改)

(项目结构图)

(2.1.1)PyCharm右上角,在要运行的文件上点击宣选择"Edit Configurations..."

(2.1.2)在打开的弹出框中,在Python tests里找到自己要运行的文件,修改他的路径为运行文件路径,修改完成之后先apply再点击ok,然后在PyCharm右上角点击“运行”,运行完成,就会发现测试报告生成了奥~~

方法二:在main函数上运行.py文件

我们在main函数中简单的添加一句打印代码,发现,在.py中随意找个地方,鼠标右键“run”之后,并未打印,可见,脚本运行时并没有执行里面的代码,为什么没有执行里面的代码呢?因为在Pycharm不同的地方右键后,运行脚本得到的结果是不一样的,执行的代码段不一样,所以,我们可以在main函数处,右键,运行脚本,运行完成,就会生成测试报告文件(但是,我在main函数处运行,我一个测试运行,跑了2次,尴尬,暂时不知道为什么)

import time
import unittest
import HTMLTestRunner #直接将HTMLTestRunner.py放到python安装目录下的Lib中即可
from selenium import webdriver class Baidu(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome('F:\\Python\\workspace\\selenium_demo3_test\\drivers\\chromedriver.exe')
self.driver.implicitly_wait(30)
self.base_url = "http://www.baidu.com/"
self.verificationErrors = []
self.accept_next_alert = True # 百度搜索用例
def test_baidu_search(self):
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) def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors) if __name__ == "__main__":
print('')
# 定义一个单元测试容器
testunit = unittest.TestSuite()
# 将测试用例加入到测试容器中
testunit.addTest(Baidu("test_baidu_search")) # 定义个报告存放路径,支持相对路径
filename = 'F:\\Python\\workspace\\demo\\result.html'
fp = open(filename, 'wb')
# 定义测试报告
runner = HTMLTestRunner.HTMLTestRunner(
stream=fp,
title='测试报告hahhahahah',
description='用例执行情况hahhaahha:'
)
# 运行测试用例
runner.run(testunit)
# 写完之后必须将fp关闭,否则报告是空的
fp.close()

方法三:定义一个函数,讲main函数中的内容复制到该函数中,在main函数中,运行自己定义的函数,也可以正常生成测试报告

testBaogao.py

import time
import unittest
import HTMLTestRunner #直接将HTMLTestRunner.py放到python安装目录下的Lib中即可
from selenium import webdriver
from demo.Baogao import * class Baidu(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome('F:\\Python\\workspace\\selenium_demo3_test\\drivers\\chromedriver.exe')
self.driver.implicitly_wait(30)
self.base_url = "http://www.baidu.com/"
self.verificationErrors = []
self.accept_next_alert = True # 百度搜索用例
def test_baidu_search(self):
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) def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors) if __name__ == "__main__":
print('')
test_baogao() #调用另外一个函数

Baogao.py

import  HTMLTestRunner
from demo.testBaogao import * def test_baogao():
# 定义一个单元测试容器
testunit = unittest.TestSuite()
# 将测试用例加入到测试容器中
testunit.addTest(Baidu("test_baidu_search")) # 定义个报告存放路径,支持相对路径
filename = 'F:\\Python\\workspace\\demo\\result.html'
fp = open(filename, 'wb')
# 定义测试报告
runner = HTMLTestRunner.HTMLTestRunner(
stream=fp,
title=u'百度搜索测试报告',
description=u'用例执行情况:'
)
# 运行测试用例
runner.run(testunit)
# 写完之后必须将fp关闭,否则报告是空的
fp.close()

如上demo所示,在testBaogao.py文件中随意地方运行文件即可生成测试报告。

Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告2(使用PyCharm )的更多相关文章

  1. Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE)

    1.说明 自动化测试报告是一个很重要的测试数据,网上看了一下,使用HTMLTestRunner.py生成自动化测试报告使用的比较多,但是呢,小白刚刚入手,不太懂,看了很多博客,终于生成了一个测试报告, ...

  2. Python&Selenium&pytest借助allure生成自动化测试报告

    一.摘要 本篇博文将介绍Python和Selenium进行自动化测试时,如何借助allure生成自动化测试报告 二.环境配置 首先python环境中安装pytest和pytest_allure_ada ...

  3. 解决python3.7无法使用HTMLTestRunner.py生成html测试报告的问题2019.04

    **一:首先下载这个HTMLTestRunner.py文件:链接: https://pan.baidu.com/s/1jQFsMYLM3ysY6shgRF40Kw 提取码: evq2二:把该文件放在p ...

  4. Python&Selenium借助HTMLTestRunner生成自动化测试报告

    一.摘要 本篇博文介绍Python和Selenium进行自动化测试时,借助著名的HTMLTestRunner生成自动化测试报告 HTMLTestRunner.py百度很多,版本也很多,自行搜索下载放到 ...

  5. Python&Selenium借助html-testRunner生成自动化测试报告

    一.摘要 本博文将介绍Python和Selenium进行自动化测试时,借助html-testRunner 生成自动化测试报告 安装命令:pip install html-testRunner 二.测试 ...

  6. python使用 HTMLTestRunner.py生成测试报告

    HTMLTestRunner.py python 2版本 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 使用时,先建立一个”PyDe ...

  7. python使用HTMLTestRunner.py生成测试报告

    这里我使用的是python selenium webdriver环境,浏览器驱动安装见selenium 1.下载HTMLTestRunner.py:http://tungwaiyip.info/sof ...

  8. python3-如何正常使用HTMLTestRunner.py,生成自动化测试报告

    其实HTMLTestRunner.py是基于python2开发的,为了使其支持python3环境,需要对其的部分内容进行修改.下面我们通过编辑器打开HTMLTestRunner.py文件(编辑器可以选 ...

  9. Python Selenium unittest+HTMLTestRunner实现 自动化测试及发送测试报告邮件

    1.UI测试框架搭建-目录结构 2. 文件介绍 2.1.baseinfo->__init__.py 配置文件定义基础参数 #-*-coding:utf-8-*- #测试用例配置参数 base_u ...

随机推荐

  1. Android的各国语言的缩写

    语言包在android工程中的对应关系: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-en ...

  2. iOS使用NSURLSession发送POST请求,后台无法接受到请求过来的参数

    iOS中发送POST请求,有时需要设置Content-Type,尤其是上传图片的时候. application/x-www-form-urlencoded: 窗体数据被编码为名称/值对.这是标准的编码 ...

  3. docker-ce安装与搭建私有仓库

    https://www.cnblogs.com/sszhou/p/7389144.html 系统环境centos7 ###docker-ce安装###1.卸载老版本,较老版本的Docker被称为doc ...

  4. ssh免密码登录配置方法,(图示加命令)

    首先,说明一下我们要做的是,serverA 服务器的 usera 用户免密码登录 serverB 服务器的 userb用户. 我们先使用usera 登录 serverA 服务器 [root@serve ...

  5. Logstash 2.0.0 beta2 发布,开源日志管理

    Logstash 是一个应用程序日志.事件的传输.处理.管理和搜索的平台.你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计. Logstash 现在是 ElasticSea ...

  6. node包管理工具nvm

    去NVM官网下载NVM压缩包,下载nvm-setup.zip,直接傻瓜式安装 安装成功后运行命令: nvm -v 常用命令: nvm install <version> ## 安装指定版本 ...

  7. [hdu3549]Flow Problem(最大流模板题)

    解题关键:使用的挑战程序设计竞赛上的模板,第一道网络流题目,效率比较低,且用不习惯的vector来建图. 看到网上其他人说此题有重边,需要注意下,此问题只在邻接矩阵建图时会出问题,邻接表不会存在的,也 ...

  8. C++二叉树结构的建立和操作

    二叉树是数据结构中的树的一种特殊情况,有关二叉树的相关概念,这里不再赘述,如果不了解二叉树相关概念,建议先学习数据结构中的二叉树的知识点. 准备数据 定义二叉树结构操作中需要用到的变量及数据等. #d ...

  9. hive2.1.1安装部署

    转至:https://i.cnblogs.com/EditPosts.aspx?opt=1 一.Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保 ...

  10. c++中的const关键字的理解

    看effective c++第二版推荐使用const,少用define.今天才发现发现这远远不够. #define定义的常量在预处理替换,debug的时候无法打印宏的,这种常量设置是有缺陷的, con ...