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自动化报告的输出的更多相关文章

  1. RobotFramework + Python 自动化入门 四 (Web进阶)

    在<RobotFramwork + Python 自动化入门 一>中,完成了一个Robot环境搭建及测试脚本的创建和执行. 在<RobotFramwork + Python 自动化入 ...

  2. 【python自动化第十一篇】

    [python自动化第十一篇:] 课程简介 gevent协程 select/poll/epoll/异步IO/事件驱动 RabbitMQ队列 上节课回顾 进程: 进程的诞生时为了处理多任务,资源的隔离, ...

  3. R语言自动化报告格式——knitr

    R语言自动化报告格式--knitr 相关文献: R语言自动化报告格式--knitr 资讯 | R Notebooks 即将发布 ------------------------------------ ...

  4. python自动化运维之路~DAY5

    python自动化运维之路~DAY5 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块的分类 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数 ...

  5. 《Python自动化运维之路》 业务服务监控(二)

    文件内容差异对比方法 使用diffie模块实现文件内容差异对比.dmib作为 Python的标准库模块,无需安装,作用是对比文本之间的差异,且支持输出可读性比较强的HTML文档,与 Linux下的di ...

  6. Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)

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

  7. Selenium2+Python自动化学习笔记(第1天)

    参考[http://blog.csdn.net/henni_719/article/details/51096531]大神写的笔记,多谢大神共享. 哈哈,今天又找到一位大神写的Selenium2+Py ...

  8. Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)【转载】

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

  9. Python HTMLTestRunner报告及BeautifulReport报告

    import unittest import HTMLTestRunner class Testfunc(unittest.TestCase): def testa(self): "&quo ...

随机推荐

  1. JSTL-简介

    JSTL全称为 JSP Standard Tag Library 即JSP标准标签库. JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历.数据的输出.字符串的处理.数 ...

  2. [Leetcode]827.使用回溯+标记解决最大人工岛问题

    在二维地图上, 0代表海洋, 1代表陆地,我们最多只能将一格 0 海洋变成 1变成陆地. 进行填海之后,地图上最大的岛屿面积是多少?(上.下.左.右四个方向相连的 1 可形成岛屿) 示例 1: 输入: ...

  3. 配置redis

    配置Redis 配置相关redis.conf bind 127.0.0.1                                                 注释掉 否则其它远程计算机无 ...

  4. Android中不能在子线程中更新View视图的原因

    这是一条规律,很多coder知道,但原因是什么呢? 如下: When a process is created for your application, its main thread is ded ...

  5. (转)eclipse上传项目到码云

    把Eclipse项目上传到码云的步骤: 1.登录码云:新建项目 2.输入项目名: 3.空项目创建成功如下图: 4.右键点击Eclipse的项目,选择“Team”—————->“Share Pro ...

  6. JavaWeb学习 (五)————Servlet(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  7. 如何简单快速的修改Bootstrap

    Bootstrap并不是单单意味着HTML/CSS界面框架,更确切的说,它改变了整个游戏规则.这个囊括了应有尽有的代码框架使得许多应用和网站的设计开发变得简便许多,而且它将大量的HTML框架普及成了产 ...

  8. 不要使用 JWT 进行会话管理

    英文原文地址:Stop using JWT for sessions 最近我发现越来越多的人推荐使用 JWT 来在 Web 应用中管理会话(Session),这是一个非常非常糟糕的主意,在这篇文章中我 ...

  9. Spring Security OAuth2 SSO 单点登录

    基于 Spring Security OAuth2 SSO 单点登录系统 SSO简介 单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自 ...

  10. 【Quartz】1、Quartz使用说明

    简介 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz 允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和触发器的多对多关系,还 ...