UnitTest+HTMLTestRunner实战
框架

步骤
先建立images,reports,tools文件夹
把HTMLTestRunner.py放进tools中 文件内容 https://www.cnblogs.com/wangxue1314/p/13493267.html
建立testcase文件,内容如下
import unittest
from selenium import webdriver
import time class IwebshopLoginTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
#self.driver.maximize_window()
self.driver.implicitly_wait(10)
self.driver.get(r"http://127.0.0.1/mgr/sign.html")
time.sleep(1) def tearDown(self):
self.driver.quit() def test_login(self):
self.driver.find_element_by_id('username').send_keys('byhy')
self.driver.find_element_by_id('password').send_keys('88888888') self.driver.find_element_by_tag_name('button').click()
time.sleep(1)
name = self.driver.find_element_by_class_name('info').text
try:
self.assertIn("管理员", name)
except AssertionError as e:
print('登陆失败')
# png无损压缩,jpg有损压缩
self.driver.get_screenshot_as_file("./image/%s.pog" % str(time.time()).replace(".", "-"))
raise def test_login_error(self):
self.driver.find_element_by_id('username').send_keys('byhy')
self.driver.find_element_by_id('password').send_keys('88888888') self.driver.find_element_by_tag_name('button').click()
time.sleep(1)
name = self.driver.find_element_by_class_name('info').text
try:
self.assertIn("管理员1", name)
except AssertionError as e:
print('内容不匹配')
# png无损压缩,jpg有损压缩,错误截图
self.driver.get_screenshot_as_file("./images/%s.pog" % str(time.time()).replace(".", "-"))
raise
建立login_test_run.py文件进行测试
import unittest from iwebshop_login_testcase import IwebshopLoginTest
from tools.HTMLTestRunner import HTMLTestRunner suite=unittest.TestSuite()
suite.addTest(unittest.makeSuite(IwebshopLoginTest)) with open("./reports/iwebshop_login_test_report.html","wb") as f:
h=HTMLTestRunner(stream=f,title="byhy登录模块自动化测试报告",description="windows10 chrome")
h.run(suite)
运行结果
测试报告

错误截图

UnitTest+HTMLTestRunner实战的更多相关文章
- 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承
前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
- python用unittest+HTMLTestRunner+csv的框架测试并生成测试报告
直接贴代码: import csv # 导入scv库,可以读取csv文件from selenium import webdriverimport unittestfrom time import s ...
- python用unittest+HTMLTestRunner的框架测试并生成测试报告
直接贴代码: import unittestfrom selenium import webdriverfrom time import sleepimport osimport time # 定义打 ...
- Python+Excel+Unittest+HTMLTestRunner实现数据驱动接口自动化测试(一)
整个流程: 使用HTMLTestRunner的Run方法执行用例,用例调用Excel读取方法,将测试数据导入到unittest用例中执行,测试结果返回给HTMLTestRunner. 因为刚接触接口自 ...
- Python Selenium unittest+HTMLTestRunner实现 自动化测试及发送测试报告邮件
1.UI测试框架搭建-目录结构 2. 文件介绍 2.1.baseinfo->__init__.py 配置文件定义基础参数 #-*-coding:utf-8-*- #测试用例配置参数 base_u ...
- python3+unittest+HTMLTestRunner
参考博客1 参考博客2 python3版HTMLTestRunner.py见博客园‘链接’(已经上传到博客园) import unittest class operatinon_unittest(un ...
- 单元测试unittest(基于数据驱动的框架:unittest+HTMLTestRunner/BeautifulReport+yaml+ddt)
一.定义 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果 ...
- UnitTest + HTMLTestRunner
#导入HTMLTestRunner类 from unitTest.tools1.HTMLTestRunner import HTMLTestRunner import unittest discove ...
随机推荐
- thymeleaf模板引擎基础知识
一.表达式 分为四类: 1.变量表达式 ${} :获取容器上下文变量的值. 举例: 获取application域中的username: ${application.username} 获取sessio ...
- 为什么代码规范要求SQL语句不要过多的join?
面试官:有操作过Linux吗? 我:有的呀 面试官:我想查看内存的使用情况该用什么命令 我:free 或者 top 面试官:那你说一下用free命令都可以看到啥信息 我:那,如下图所示 可以看到内存以 ...
- js02
一.<thead></thead>,<tbody></tbody>:为了使表头和表格内容分开设置样式 1.tbody里边有一个rows.length,获 ...
- 大家看看大佬对Maven仓库的讲解,有何高明之处?
Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方). 分类 maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分 ...
- 【题解】Luogu P3052 【USACO12】摩天大楼里的奶牛Cows in a Skyscraper
迭代加深搜索基础 题目描述 A little known fact about Bessie and friends is that they love stair climbing races. A ...
- JUnit5注解学习指引
注解(Annotations)是JUnit的标志性技术,本文就来对它的20个注解,以及元注解和组合注解进行学习. 20个注解 在org.junit.jupiter.api包中定义了这些注解,它们分别是 ...
- Docker减小镜像体积
导航: 这里分为几个部分. 相关转载云原生:米开朗基杨 1.Docker减小镜像体积 2.Docker镜像针对不同语言的精简策略 对于刚接触容器的人来说,他们很容易被自己制作的 Docker 镜像体积 ...
- 乘风破浪,遇见Visual Studio 2022预览版(Preview),宇宙最强开发者工具首次迎来64位版本
简介 众所周知,我们从官方新闻来看,对Visual Studio 2022最大的期待莫过于:其是首个64位的Visual Studio,这个宇宙最强开发者工具一脚迈入了新的阶段. https://vi ...
- 12-2 MySQL数据库备份(分表)
#!/bin/bash source /etc/profile DATE="$(date +%F_%H-%M-%S)" DB_IP="172.16.1.122" ...
- 97、配置yum源仓库服务器
(服务端(双(外,内)网卡)--客户端(内网)) YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统, 就需要有一个包含各种r ...