前面已经写过利用BeautifulReport生成测试报告,那么接下来讲讲如何在测试报告里面保存截图

首先需要在测试用例中定义一个截图的方法:

 # 截图方法
"""
os.path.abspath:返回当前目录的绝对路径
传入一个img_name,并存储到指定路径下
"""
def save_img(self, img_name):
self.driver.get_screenshot_as_file('{}/{}.png'.format(os.path.abspath('F:\\before\\lds\\img'), img_name))

然后在测试用例中挂载一个装饰器,在用例里面调用save_img方法

# -*- coding:utf-8 -*-
from selenium import webdriver
import unittest
import os
from pages.login_page import LoginPage
from BeautifulReport import BeautifulReport url = '........' class LoginPageCase(unittest.TestCase):
# 截图方法
"""
os.path.abspath:返回当前目录的绝对路径
传入一个img_name,并存储到指定路径下
"""
def save_img(self, img_name):
self.driver.get_screenshot_as_file('{}/{}.png'.format(os.path.abspath('F:\\before\\lds\\img'), img_name)) @classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
# 定义LoginPage的实例
cls.login_p = LoginPage(cls.driver) def setUp(self):
self.driver.maximize_window()
self.driver.get(url)
# 退出登录 清除cookie
self.driver.delete_all_cookies()
self.driver.refresh() # 截图需用到的装饰器,在用例里面调用前面定义的save_img方法
@BeautifulReport.add_test_img('测试报告')
def test_01(self):
"""调用login_page里面定义的每个步骤的方法"""
self.login_p.send_user("用户名")
self.login_p.send_pwd("12345678")
self.login_p.click_btn()
# 断言
result = self.login_p.text_is_in()
self.save_img('测试报告')
self.assertTrue(result == '测试用例失败截图') def test_02(self):
"""调用login_page里面定义的每个步骤的方法"""
self.login_p.send_user("")
self.login_p.send_pwd("123456")
self.login_p.click_btn()
# 断言
result = self.login_p.text_is_in()
self.assertTrue(result == '用户名或密码错误,请检查拼写') @classmethod
def tearDownClass(cls):
cls.driver.quit() if __name__ == '__main__':
unittest.main()

运行以上用例,用例失败就会将截图存放在测试报告中。

运行上面的测试用例,可以写个测试套件将所有的用例文件一起执行,可结合这篇文章来看:https://www.cnblogs.com/wulixia/p/11420315.html

python UI自动化生成BeautifulReport测试报告并保存截图的更多相关文章

  1. (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告

    前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...

  2. Python+selenium自动化生成测试报告

    批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...

  3. python UI自动化实战记录十:执行测试及测试报告

    使用简单的unittest.TextTestRunner. 思路: 1 在report目录下创建当日测试报告目录 20190113 2 创建测试报告文件 f = 时间戳.txt 3 加载测试集,运行测 ...

  4. Python UI自动化

    Python3--Uiautomator2--Pytest--Alure使用 官方源码GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiaut ...

  5. Python—UI自动化完整实战

    实战项目 均来源于互联网 测试报告2017年11月29日优化后的测试报告:https://github.com/defnngj/HTMLTestRunner 1.项目概述: 本实战已126邮箱为例子进 ...

  6. python selenium2示例 - 生成 HTMLTestRunner 测试报告

    前言 在python selenium2自动化测试过程中,一个合适的报告是必须的,而HTMLTestRunner模块为我们提供了一个很好的报告生成功能. 什么是HTMLTestRunner HTMLT ...

  7. Python用HTMLTestRunner生成html测试报告

    小编的主机:mac 一.引入HTMLTestRunner包 1.下载HTMLTestRunner.py,已上传到网盘,点击下载 2.将HTMLTestRunner.py复制到python安装目录的Li ...

  8. 利用Python半自动化生成Nessus报告

    0x01 前言 Nessus是一个功能强大而又易于使用的远程安全扫描器,Nessus对个人用户是免费的,只需要在官方网站上填邮箱,立马就能收到注册号了,对应商业用户是收费的.当然,个人用户是有16个I ...

  9. python+selenium +unittest生成HTML测试报告

    python+selenium+HTMLTestRunner+unittest生成HTML测试报告 首先要准备HTMLTestRunner文件,官网的HTMLTestRunner是python2语法写 ...

随机推荐

  1. “/Reports”应用程序中的服务器错误。

    “/Reports”应用程序中的服务器错误. ----------------------------------------------------------------------------- ...

  2. [CF1303E] Erase Subsequences - dp

    Solution 不由分说地枚举分割点 令 \(f[i][j]\) 表示原串处理到 \(i\) ,\(s_1\) 处理到 \(j\),\(s_2\) 最多能处理到哪里 采用主动转移 任意情况, \(f ...

  3. (CPSCA's)CPOJC+VIJOS

    Coding Plus System Core Association 建立的Coding Plus Online Judge China 在Vijos上初步落脚,让我们拭目以待,等待暑假期间ACM1 ...

  4. Typecho的卡哇伊小猫咪小插件(Live2D猫咪插件)

    之前看到一个博客,被它博客上的动态小猫咪给吸引了,这个纯粹就是一个在线撸猫的神器啊.但是在网上寻找一番,并没有找到合适的插件,或者说没有找到合适的模型,因此无奈之后,只能向该博主请教,在它写的博客上, ...

  5. java性能分析 - CPU飙高分析工具

    背景         有处理过生产问题的同学基本都能遇到系统忽然缓慢,CPU突然飙升,甚至整个应用请求不可用.当出现这种情况下,在不影响数据准确性的前提下,我们应该尽快导出jstack和内存信息,然后 ...

  6. BZOJ 1218: [HNOI2003]激光炸弹(二维前缀和)

    Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(N<=10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置 ...

  7. php7 安装redis拓展

    配置之前应该是环境已经搭好了,phpinfo的页面可以加载出来.   使用git clone下载git上的phpredis扩展包 git clone  https://github.com/phpre ...

  8. Coursera 吴恩达 机器学习 学习笔记

    Week 1 机器学习笔记(一)基本概念与单变量线性回归 Week 2   机器学习笔记(二)多元线性回归 机器学习作业(一)线性回归——Matlab实现 机器学习作业(一)线性回归——Python( ...

  9. [AtCoder Code Festival 2017 QualB C/At3574] 3 Steps - 二分图染色,结论

    给你一个n个点m条边的无向图,进行以下操作 如果存在两个点u和v,使得从u走三步能恰好到达v,那么在u和v之间连接一条边 重复这个操作直到不能再连接新的边,问最后有多少条边? n, m <= 1 ...

  10. 还不错的Table样式和form表单样式

    作为一个后台开发人员而言,拥有一套属于自己的前台样式是比较重要的,这里分享一下自己感觉还不错的样式,以后遇到好的,还会陆续添加 上图: 带鼠标滑动效果的table样式看起来比较清爽 样式 <he ...