脚本可执行,但无HTML测试报告文件生成,其造成的原因是在PyCharm的执行模式错误
定义测试报告两种写法:
1)测试报告直接在本地绝对路径下生成
# 导入HTMLTestRunner模块
import HTMLTestRunner
# 通过open()方法以二进制写模式('wb')打开本地绝对路径下的result.html文件,如果没有,则自动创建
fp = open('D:\\folder_data\\result.html', 'wb')
# 调用HTMLTestRunner模块下的HTMLTestRunner类
# stream 指定测试报告文件;title 定义测试报告的标题;description 定义测试报告的副标题
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='冒烟测试报告', description='用例执行情况: ')
2)运行的脚本的上一级目录有_reports,测试报告页会在运行时自动在该目录下生成
# 导入HTMLTestRunner模块,导入方式是从集成至脚本文件夹内的模块导入
from packages.HTMLTestRunner import HTMLTestRunner
fp = open('../_reports/result.html', 'wb')
runner = HTMLTestRunner(stream=fp, title='冒烟测试报告', description='用例执行情况: ')
目录结构如图:

⭐脚本可执行,但无HTML测试报告文件生成,其造成的原因是在PyCharm的执行模式错误
pycharm执行脚本时,调用的是pycharm自带的unittest框架,不会执行HTMLTestRunner库的方法。所以应以非unittest模式运行,也就是用python文件直接运行。
错误执行模式:即使选择py.tests模式运行脚本,但最后还是在Python tests下运行也是生成测试报告失败


解决方法:取消默认运行unittest模式
①Pycharm工具栏File-> Settings -> Tools -> Python Integrated Tools -> Default test runner ,将Unittests改为py.test即可(如果报错则需要安装pytest库,安装了pytest库仍报错,则再打开取消默认运行unittest方法的步骤页,刚刚选择的修改为python模式运行下方会提示出错,可fix,点击fix按钮即可)

②Pycharm右上角,点开Edit Configurations,展开Python和Python tests这两个选项,Python tests选项下运行则以unittest模式运行,只需将运行的脚本从Python tests选项下移除,点击Python选项,选择好Script path和Python interpreter和Working directory保存,以python文件模式运行即可

⭐正确运行模式

脚本可执行,但无HTML测试报告文件生成,其造成的原因是在PyCharm的执行模式错误的更多相关文章
- Python 同一文件中,有unittest不执行“if __name__ == '__main__”,不生成HTMLTestRunner测试报告的解决方案
1.问题:Python中同一个.py文件中同时用unittest框架和HtmlReport框架后,HtmlReport不被执行. 2.为什么?其实不是HtmlReport不被执行,也不是HtmlRep ...
- linux 执行远程linux上的shell脚本或者命令以及scp 上传文件到ftp--免密码登陆
场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P ...
- 将window的shell脚本通过ftp传输到Linux服务器后, shell脚本中执行时提示“没有那个文件或目录”的解决办法
出现bad interpreter:No such file or directory的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不S ...
- expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统、批量远程执行命令
7月20日任务 20.31 expect脚本同步文件20.32 expect脚本指定host和要同步的文件20.33 构建文件分发系统20.34 批量远程执行命令扩展:shell多线程 http:// ...
- Pycharm同时执行多个脚本文件
Pycharm同时执行多个脚本文件 设置Pycharm使它可以同时执行多个程序 打开Pycharm 找到Run,点击确认 点击Edit Configurations 右上角Allow parallel ...
- python接口自动化测试二十五:执行所有用例,并生成HTML测试报告
import requestsimport unittest class TestQQ(unittest.TestCase): '''测试QQ号接口''' # 此注释将展示到测 ...
- airtest+poco多脚本、多设备批处理运行测试用例自动生成测试报告
一:主要内容 框架功能及测试报告效果 airtest安装.环境搭建 框架搭建.框架运行说明 airtest自动化脚本编写注意事项 二:框架功能及测试报告效果 1. 框架功能: 该框架笔者用来作为公司的 ...
- shell脚本监控Flume输出到HDFS上文件合法性
在使用flume中发现由于网络.HDFS等其它原因,使得经过Flume收集到HDFS上得日志有一些异常,表现为: 1.有未关闭的文件:以tmp(默认)结尾的文件.加入存到HDFS上得文件应该是gz压缩 ...
- IIS发布程序,出现:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理解决方案
windows 7(或者windows 2008)+iis7.5 出现如下错误的解决方法: 错误描述:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 解决方法: 打开cmd命令窗口,执行如下 ...
随机推荐
- windows加固
1. 账户管理和认证授权 1.1 账户 默认账户安全 禁用Guest账户. 禁用或删除其他无用账户(建议先禁用账户三个月,待确认没有问题后删除.) 操作步骤 打开 控制面板 > 管理工具 > ...
- Delphi 中的 XMLDocument 类详解(10) - 判断节点类型: 支节点、叶节点、文本节点、空节点
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...
- 图像分类(三)GoogLenet Inception_v3:Rethinking the Inception Architecture for Computer Vision
Inception V3网络(注意,不是module了,而是network,包含多种Inception modules)主要是在V2基础上进行的改进,特点如下: 将滤波器尺寸(Filter Size) ...
- mybatis入门--配置
1.导入jar包 mybatis-x.x.x.jar 导入到lib目录下, 如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中: <depen ...
- WebSocket 学习教程(二):Spring websocket实现消息推送
=============================================== 环境介绍: Jdk 1.7 (1.6不支持) Tomcat7.0.52 (支持Websocket协议) ...
- GDB查看堆栈局部变量
GDB查看堆栈局部变量 “参数从右到左入栈”,“局部变量在栈上分配空间”,听的耳朵都起茧子了.最近做项目涉及C和汇编互相调用,写代码的时候才发现没真正弄明白.自己写了个最简单的函数,用gdb跟踪了调用 ...
- 开发流程(Vue)
1.当你拿到一个需求时,先不要着急完成静态页面 2.重点观察数据结构,进行数据的分析,包括前端所需要的数据类型从而进行数据类型定义(如果是前后端分离的情况下,建议不要考虑前端数据和数据库的数据类型对应 ...
- How do you explain Machine Learning and Data Mining to non Computer Science people?
How do you explain Machine Learning and Data Mining to non Computer Science people? Pararth Shah, ...
- 第三篇——Struts2的动态方法调用
Struts2动态方法调用 默认方式:默认执行方法中的execute方法,若指定类中没有该方法,默认返回success: method方式:执行method属性中定义的方法,没有该方法,页面报错: 通 ...
- c#链接access数据库
public ActionResult Index() { OleDbDataAdapter db = new OleDbDataAdapter("select * from [user]& ...