框架

步骤

先建立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. C语言const关键字的作用

    1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <string.h> 4 #include ...

  2. python中json.dump()与json.dumps()的区别

    1.将python数据结构转换为json字符串(json.dumps()) >>> import json >>> data={'name':'pipi','age ...

  3. 【NX二次开发】Block UI 切换开关

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  4. 【题解】P2854 [USACO06DEC]牛的过山车Cow Roller Coaster

    P2854 [USACO06DEC]牛的过山车Cow Roller Coaster 题目描述 The cows are building a roller coaster! They want you ...

  5. Java知识复习(二)

    如何格式化日期? SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date dat=new Da ...

  6. SpringBoot项目创建流程--SpringMVC

    SpringBoot项目创建步骤 1. 创建SpringBoot工程 (1) File → New → Project → Spring Initilizr (2) Name:MySpringBoot ...

  7. Qt之先用了再说系列-串口通讯(单串口单线程)

    QT 串口通讯(单串口单线程) 串口通讯在我们写程序的时候或多或少会用到,借此在这记录一下QT是如何使用串口来通讯的.本次先侃侃在单线程下使用1个串口来通讯过程.好了,废话不多说,直接看步骤,我们的宗 ...

  8. layui table 列宽百分比显示

    var layer = layui.layer, form = layui.form, table = layui.table; var $ = layui.$; /*select gysmc,zyz ...

  9. idea debug无法启动 Error running 'Tomcat8': Unable to open debugger port (127.0.0.1:50168): java.net.SocketException "socket closed

    在日志里显示在 event log 里的 Error running 'server_web': Address localhost:1099 is already in use 显示1099单口已被 ...

  10. hdu 3306 Another kind of Fibonacci 矩阵快速幂

    参考了某大佬的 我们可以根据(s[n-2], a[n-1]^2, a[n-1]*a[n-2], a[n-2]^2) * A = (s[n-1], a[n]^2, a[n]*a[n-1], a[n-1] ...