框架

步骤

先建立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实战的更多相关文章

  1. 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承

    前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...

  2. Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,

    测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...

  3. python用unittest+HTMLTestRunner+csv的框架测试并生成测试报告

    直接贴代码: import csv  # 导入scv库,可以读取csv文件from selenium import webdriverimport unittestfrom time import s ...

  4. python用unittest+HTMLTestRunner的框架测试并生成测试报告

    直接贴代码: import unittestfrom selenium import webdriverfrom time import sleepimport osimport time # 定义打 ...

  5. Python+Excel+Unittest+HTMLTestRunner实现数据驱动接口自动化测试(一)

    整个流程: 使用HTMLTestRunner的Run方法执行用例,用例调用Excel读取方法,将测试数据导入到unittest用例中执行,测试结果返回给HTMLTestRunner. 因为刚接触接口自 ...

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

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

  7. python3+unittest+HTMLTestRunner

    参考博客1 参考博客2 python3版HTMLTestRunner.py见博客园‘链接’(已经上传到博客园) import unittest class operatinon_unittest(un ...

  8. 单元测试unittest(基于数据驱动的框架:unittest+HTMLTestRunner/BeautifulReport+yaml+ddt)

    一.定义 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果 ...

  9. UnitTest + HTMLTestRunner

    #导入HTMLTestRunner类 from unitTest.tools1.HTMLTestRunner import HTMLTestRunner import unittest discove ...

随机推荐

  1. Spring Cloud03: Eureka Client 服务提供者

    一.创建一个子工程并引入配置如下: <dependency> <groupId>org.springframework.cloud</groupId> <ar ...

  2. 代码实测:给redis中的key取一个正确的名字多么重要

    redis对写入的key长度有限制吗? 太长的key对性能有影响吗? key越长对性能影响越大? 如何评估键长度对性能的影响? talk is cheap, show me the code! 今天我 ...

  3. 5.23考试总结(NOIP模拟2)

    5.23考试总结(NOIP模拟2) 洛谷题单 看第一题第一眼,不好打呀;看第一题样例又一眼,诶,我直接一手小阶乘走人 然后就急忙去干T2T3了 后来考完一看,只有\(T1\)骗到了\(15pts\)[ ...

  4. 【单调栈】【前缀和】【二分查找】8.28题解-long

    long 题目描述 AP神牛准备给自己盖一座很华丽的宫殿.于是,他看中了一块N*M的矩形空地.空地中每个格子都有自己的海拔高度.AP想让他的宫殿的平均海拔在海平面之上(假设海平面的高度是0,平均数都会 ...

  5. RAC+DG修改sys密码

    一.版本: 操作系统版本:SUSE 11 数据库版本:11.2.0.4 二.需求 因安全要求,需要修改SYS密码 三.步骤 1节点执行命令: alter user sys identified by ...

  6. 安装redHat6.5详细图文教程

    ​ ​ 进入VM虚拟机,双击进入已经创建好的红帽6虚拟机 双击进入CD/DVD,准备添加红帽6.5的iso镜像文件 [红帽6.5的iso镜像文件需要先下载,redhat_6.5下载地址:https:/ ...

  7. redis学习第三天(Java使用redis)

    Java使用redis首先需要一个jar包,jedis.jar,这边给出下载地址:https://mvnrepository.com/artifact/redis.clients/jedis,要下载最 ...

  8. 第11章 PADS功能使用技巧(1)-最全面

    一.如何走蛇形线? 蛇形线是布线过程中常用的一种走线方式,其主要目的是为了调节延时满足系统时序设计要求,但是设计者应该有这样的认识:蛇形线会破坏信号质量,改变传输延时,布线时要尽量避免使用,因此一块P ...

  9. .net core 支付宝,微信支付 三

    支付回调: 获取HttpRequest的body内容,之前使用Request.Form有时候数据请求不到(可能是跟.net core 版本有关?) var s = HttpRequest.Body; ...

  10. 上海某大公司:你是了解Redis对吧?

    <对线面试官>系列目前已经连载26篇啦!有深度风趣的系列! [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 & ...