python自动化报告的输出用例详解

1、设计简单的用例

2、设计用例

   以TestBaiduLinks.py命名

# coding:utf-8
from selenium import webdriver
import unittest
class BaiduLinks(unittest.TestCase):
 def setUp(self):
  base_url = 'https://www.baidu.com'
  self.driver = webdriver.Chrome()
  self.driver.implicitly_wait(10)
  self.driver.get(base_url)
 def tearDown(self):
  self.driver.close()
  self.driver.quit()
 def test_baidu_news(self):
  u"""百度新闻"""
  driver = self.driver
  driver.find_element_by_link_text('新闻').click()
  self.assertIn(driver.title, u'v百度新闻——全球最大的中文新闻平台')
 def test_baidu_hao123(self):
  u"""hao123"""
  driver = self.driver
  driver.find_element_by_link_text('hao123').click()
  self.assertEqual(driver.title, u'hao123_上网从这里开始')
 def test_baidu_tieba(self):
  u"""百度贴吧"""
  driver = self.driver
  driver.find_element_by_link_text('贴吧').click()
  # 错误的断言
  self.assertTrue(driver.find_element_by_link_text('全吧搜索+1'))
if __name__ == '__main__':
 unittest.main()
 print('百度链接跳转成功')

3、写执行用例脚本

# /usr/bin/env python3
# coding:utf-8
"""
Created on 2018-05-30
Project: learning
@Author:wuya
"""
import os, time, unittest
import HTMLTestRunner
report_path = os.getcwd() # 设置保存报告的路径,这儿设置的是与执行文件在同一个目录下
now = time.strftime("%Y-%m-%d %H:%M", time.localtime(time.time())) # 获取当前时间
title = u"百度头链接测试" # 标题
report_abspath = os.path.join(report_path, title + now + ".html") # 设置报告存放和命名
# 导入用例
def all_case():
 case_path = os.getcwd() # 用例路径,这儿的用例和执行文件在同一目录下
 discover = unittest.defaultTestLoader.discover(case_path,             pattern="Test*.py") # 添加用例,在case_path的路径下,所有以Test开头的文件都当做用例文件执行
 print(discover)
 return discover
if __name__ == "__main__":
 fp = open(report_abspath, "wb") # 保存报告文件
 runner = HTMLTestRunner.HTMLTestRunner(stream=fp,           title=title + ':',)
 runner.run(all_case()) # 执行用例
 fp.close()

4、执行结果

  结果文档下载

  对于执行不通过的用例可以点击错误二字查看详情

总结

以上所述是小编给大家介绍的python自动化报告的输出用例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • python自动化测试之从命令行运行测试用例with verbosity

    本文实例讲述了python自动化测试之从命令行运行测试用例with verbosity,分享给大家供大家参考.具体如下: 实例文件recipe3.py如下: class RomanNumeralConverter(object): def __init__(self, roman_numeral): self.roman_numeral = roman_numeral self.digit_map = {"M":1000, "D":500, "C"

  • python中pytest收集用例规则与运行指定用例详解

    前言 上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息.那么今天会讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用例或者批量运行用例呢?下面将为大家一一解答! pytest收集用例原理分析 首先我们按照如下目录结构新建我们的项目 [pyttest搜索测试用例的规则] |[测试用例目录1] | |__init__.py | |test_测试模块1.py | |test_测试模块2.py |[测试用例目录2] |

  • python selenium执行所有测试用例并生成报告的方法

    直接上代码. # -*- coding: utf-8 -*- import time import os import os.path import re import unittest import HTMLTestRunner import shutil shutil.copyfile("setting.ini","../setting.ini") casepaths = [] def createsuite(casepath): testunit = unit

  • 对python_discover方法遍历所有执行的用例详解

    当我们写了一个单个py的测试文件时直接运行就ok了,但当我们有很多很多个这样的py时,难道要一个一个的点击来运行吗,当然不是.我们可以通过discover方法来找到所有的用例. 下面直接举例说明discover用法: 一. 准备工作 目录结构: DiscoverCase.py 文件代码: import unittest import os def discover_case(case_dir): # 待执行用例的目录 testcase = unittest.TestSuite() discove

  • Python Nose框架编写测试用例方法

    1. 关于Nose nose项目是于2005年发布的,也就是 py.test改名后的一年.它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装和维护. nose的口号是:扩展unittest,nose让测试更简单! nose官网:http://nose.readthedocs.io/en/latest/index.html 使用nose框架进行Python项目的自动化测试,可以参考:http://www.cnblogs.com/liaof

  • Python装饰器使用示例及实际应用例子

    测试1 deco运行,但myfunc并没有运行 复制代码 代码如下: def deco(func):     print 'before func'     return func def myfunc():     print 'myfunc() called'   myfunc = deco(myfunc) 测试2 需要的deco中调用myfunc,这样才可以执行 复制代码 代码如下: def deco(func):     print 'before func'     func()   

  • Python中的CURL PycURL使用例子

    在Linux上有个常用的命令 curl(非常好用),支持curl的就是大名鼎鼎的libcurl库:libcurl是功能强大的,而且是非常高效的函数库.libcurl除了提供本身的C API之外,还有多达40种编程语言的Binding,这里介绍的PycURL就是libcurl的Python binding.在Python中对网页进行GET/POST等请求,当需要考虑高性能的时候,libcurl是非常不错的选择,一般来说会比liburl.liburl2快不少,可能也会比Requests的效率更高.特

  • Python random模块(获取随机数)常用方法和使用例子

    random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniformrandom.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <b, 则 b <= n <= a 复制代码 代码如下: print random.uniform(10, 20)print rand

  • python logging类库使用例子

    一.简单使用 复制代码 代码如下: def TestLogBasic():     import logging     logging.basicConfig(filename = 'log.txt', filemode = 'a', level = logging.NOTSET, format = '%(asctime)s - %(levelname)s: %(message)s')     logging.debug('this is a message')     logging.inf

  • python自动化报告的输出用例详解

    1.设计简单的用例 2.设计用例 以TestBaiduLinks.py命名 # coding:utf-8 from selenium import webdriver import unittest class BaiduLinks(unittest.TestCase): def setUp(self): base_url = 'https://www.baidu.com' self.driver = webdriver.Chrome() self.driver.implicitly_wait(

  • Python自动化办公之邮件发送全过程详解

    使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,可以节省非常多的时间.操作前配置(以较为复杂的QQ邮箱举例,其他邮箱操作类似) 单击设置-账号,滑倒下方协议处,开启IMAP/SMTP协议(IMAP,即Internet Message Access Protocol(互联网邮件访问协议),可以通过这种协议从邮件服务器上获取邮件的信息.下载邮件等.IMAP与POP类似,都是一种邮件获取协议.) (ps.开启需要验证) 记住端口号,后续写代码发送邮件时候需要: 生成授权码,前期配置完

  • Python自动化办公之清理重复文件详解

    目录 清理重复的文件 清理重复文件的优化 清理重复的文件 已知条件: 什么都不知道,只需要知道它是文件就可以了 实现方法: 可以从指定路径(或最上层路径)开始读取,利用 glob 读取每个文件夹,读到文件,记录名称和大小,每一次检测之前是否读取过相同名称的文件,如果存在,判断大小是否相同,如果相同,我们就认为这是重复文件,将其删除. 代码示例如下: # coding:utf-8 import glob import os.path data = {} # 定义一个空的字典,暂时将文件名存进来 d

  • Python实现字符串格式化输出的方法详解

    本文实例讲述了Python实现字符串格式化输出的方法.分享给大家供大家参考,具体如下: python属于强类型的语言,如果像java一样操作字符串和数字的"+"时,会出现TypeError.而python的格式化方法有多种,比如使用占位符,使用format,或者是自定义模版等等.这里介绍了其中的几种方法 下面这个例子很好的说明了python属于强类型语言: print "abc" + 123 Traceback (most recent call last): Fi

  • Python+Opencv答题卡识别用例详解

    使用Python3和Opencv识别一张标准的答题卡.大致的过程如下: 1.读取图片 2.利用霍夫圆检测,检测出四个角的黑圆位置,从确定四个角的位置 3.利用透视变换和四个角的位置,矫正图片(直接用的网上的图片,没有拍照,所以这一步没有实现) 4.裁剪四个边框,获取边框上小黑格的位置 5.根据小黑格的位置确定每个涂卡区域的位置 6.将答题卡腐蚀和膨胀,遍历所有的格子的区域,计算每个区域内像素值为0的个数,若数量达到某个值,那么就确认这个格子是被黑笔涂过,并记录该位置的题目选项. 具体的实现 一.

  • Python+Selenium自动化环境搭建与操作基础详解

    目录 一.环境搭建 1.python安装 2.pycharm下载安装 3.selenium下载安装 4.浏览器驱动下载安装 二.Selenium简介 (1)SeleniumIDE (2)SeleniumRC (3)SeleniumWebDriver (4)SeleniumGrid 三.常用方法 1.浏览器操作 2.如何获取页面元素 3.查找定位页面元素的方法 4.操作方法 5.下拉框操作 6.WINDOS弹窗 7.iframe内嵌页面处理 8.上传文件 9.切换页面 10.截图 11.等待时间

  • 以SortedList为例详解Python的defaultdict对象使用自定义类型的方法

    目录 写在前面 第一种方法: 封装成函数 第二种方法: 类封装 写在前面 最近写周赛题, 逃不开的一种题型是设计数据结构, 也就是第三题, 做这种题需要的就是对语言中的容器以及常用排序查找算法的掌握, 而我只熟悉了最基本的一些方法, 做起这些题来总是超时… 为了搞定这些题, 我决定学习一下大佬们的做法, 特别是优先队列的方法维护有序容器以及有序列表等容器, 这些都在Python中封装好了, 用起来很是方便, 但是采用defaultdict的时候, 其缺省数据类型常常需要与题目给出的特定结构匹配,

  • 对python的输出和输出格式详解

    输出 1. 普通的输出 # 打印提示 print('hello world') 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hello, world') print()函数也可以接受多个字符串,用逗号","隔开,就可以连成一串输出: >>> print('The quick brown fox', 'jumps over', 'the lazy dog

  • Python列表倒序输出及其效率详解

    Python列表倒序输出及其效率 方法一 使用Python内置函数reversed() for i in reversed(arr): pass reversed返回的是迭代器,所以不用担心内存问题. 方法二 使用range()倒序 for i in range(len(arr) - 1, -1, -1): pass 方法三 先使用list自带的reverse()函数,再用range()循环 arr.reverse() for i in range(len(arr)): pass 因为要先倒序,

  • python字符串的多行输出的实例详解

    1.字符串的每行末尾使用 \ 续行 以多行的形式书写字符串,每行的末尾使用 \ 续行.需要注意输出内容为一行. >>> string = '第一行\ - 第二行\ - 第三行' >>> print(string) '第一行第二行第三行' 2.使用三个单引号或三个双引号来表示字符串 在 Python 中字符串也可以使用三个单引号或三个双引号来表示字符串,这样字符串中的内容就可以多行书写,并且被多行输出. 使用三引号的方式,字符串可被多行书写,且被多行输出,其中不需要显式地

随机推荐