1.生成HTML测试报告

import unittest,sys
from selenium import webdriver
from time import sleep
class TestBaidu(unittest.TestCase):
def setUp(self):
driver_path='/'.join(sys.path[0].split('/')[:-2])+"/driver/chromedriver"
self.driver=webdriver.Chrome(executable_path=driver_path)
self.driver.implicitly_wait(30)
self.base_url="http://www.baidu.com"
def test(self):
driver=self.driver
driver.get(self.base_url+"/")
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").clear()
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys("selenium")
driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
result_text = driver.find_element_by_xpath("//span[@class='nums_text']").text
assert "百度为您找到相关结果约" in result_text
sleep(3)
def tearDown(self):
self.driver.quit()
if __name__=="__main__":
unittest.main()

runtest.py

import unittest
from HTMLTestRunner import HTMLTestRunner
test_dir="./testcase/testsearch"
discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py")
if __name__=="__main__":
fp = open("report/result.html","wb")
runner=HTMLTestRunner(stream=fp,title="百度搜索报告",description="用例执行情况")
runner.run(discover)
fp.close()
  • stream:指定文件
  • title:定义测试报告的标题
  • description:定义测试报告的副标题

2.增加描述,使报告更易读

2.1添加描述

python的注释有2中,comment普通的注释,doc string用于函数、类、方法的描述。

doc string有双引号、三双引号、三单引号

双引号只适合单行,三双引号与三单引号适合多行

如果类和方法有多个引号描述,只会把紧跟类名或方法名后的第一个描述作为doc string,如下图灰色描述。

def add(a,b):
"add()函数需要2个入参,并返回两个参数相加的值"
return a + b

进入python交互界面

from test import add
help(add)
#q退出

2.2测试用例添加描述

注意:HTMLTestRunner只能识别到第一行,即使是三双引号或三单引号的多行描述也只打印第一行。如结果图中test_search2

test_search1.py

# #没有导入pymysql.cursors
import unittest,sys
from selenium import webdriver
from time import sleep
class TestBaidu(unittest.TestCase):
"百度搜索测试"
def setUp(self):
driver_path='/'.join(sys.path[0].split('/')[:-2])+"/driver/chromedriver"
self.driver=webdriver.Chrome(executable_path=driver_path)
self.driver.implicitly_wait(30)
self.base_url="http://www.baidu.com"
def test(self):
"搜索关键字:selenium"
driver=self.driver
driver.get(self.base_url+"/")
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").clear()
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys("selenium")
driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
result_text = driver.find_element_by_xpath("//span[@class='nums_text']").text
assert "百度为您找到相关结果约" in result_text
sleep(3)
def tearDown(self):
self.driver.quit()
if __name__=="__main__":
unittest.main()

test_search2.py

import unittest,sys
from selenium import webdriver
from time import sleep
class TestBaidu(unittest.TestCase):
'''百度
搜索测试'''
def setUp(self):
driver_path='/'.join(sys.path[0].split('/')[:-2])+"/driver/chromedriver"
self.driver=webdriver.Chrome(executable_path=driver_path)
self.driver.implicitly_wait(30)
self.base_url="http://www.baidu.com"
def test(self):
"""搜索关键字:
Jenkins"""
driver=self.driver
driver.get(self.base_url+"/")
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").clear()
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys("jenkins")
driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
result_text = driver.find_element_by_xpath("//span[@class='nums_text']").text
assert "百度为您找到相关结果约" in result_text
sleep(3)
def tearDown(self):
self.driver.quit()
if __name__=="__main__":
unittest.main()

runtest.py

import unittest
from HTMLTestRunner import HTMLTestRunner
test_dir="./testcase/testsearch"
discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py")
if __name__=="__main__":
fp = open("report/result.html","wb")
runner=HTMLTestRunner(stream=fp,title="百度搜索报告",description="用例执行情况")
runner.run(discover)
fp.close()

3.为测试报告文件添加时间戳,便于识别

runtest.py

import unittest
from time import strftime
from HTMLTestRunner import HTMLTestRunner
test_dir="./testcase/testsearch"
discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py")
if __name__=="__main__":
filename="report/"+strftime("%Y_%m_%d_%H_%M_%S")+"_result.html"
fp = open(filename,"wb")
runner=HTMLTestRunner(stream=fp,title="百度搜索报告",description="用例执行情况")
runner.run(discover)
fp.close()

python selenium-6 HTML测试报告的更多相关文章

  1. Python+selenium 2【测试报告】

    HTML报告 http://tungwaiyip.info/software/HTMLTestRunner.html   下载地址 这个扩展非常简单,只有一个HTMLTestRunner.py文件,选 ...

  2. Python +selenium之集成测试报告与unittest单元测试

    随着软件不断迭代,对应的功能也会越来越多,从而对应的测试用例也会呈指数增长.如果将全部的测试用例集成在一个文件中就会显得特别的臃肿而且维护成本也会很高. 一个很好的放大就是将这些测试yo你给里按照功能 ...

  3. Python+selenium自动化生成测试报告

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

  4. Python+Selenium框架 ---自动化测试报告的生成

    本文来介绍如何生成自动化测试报告,前面文章尾部提到了利用HTMLTestRunner.py来生成自动化测试报告.关于HTMLTestRunner不过多介绍,只需要知道是一个能生成一个HTML格式的网页 ...

  5. Python+Selenium 自动化测试获取测试报告内容并发送邮件

    这里封装一个send_mail()方法,用于测试完成后读取测试报告内容,并将测试结果通过邮件发送到接收人 # coding: utf-8 import smtplib from email.mime. ...

  6. 【转】【Python + selenium】linux和mac环境,驱动器chromedriver和测试报告HTMLTestRunner放置的位置

    感谢: 作者:gz_tester,文章:<linux和mac环境,chromedriver和HTMLTestRunner放置的位置> 使用场景 配置python selenium 环境 使 ...

  7. python+selenium +unittest生成HTML测试报告

    python+selenium+HTMLTestRunner+unittest生成HTML测试报告 首先要准备HTMLTestRunner文件,官网的HTMLTestRunner是python2语法写 ...

  8. 使用python selenium进行自动化functional test

    Why Automation Testing 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...

  9. Python Selenium设计模式-POM

    前言 本文就python selenium自动化测试实践中所需要的POM设计模式进行分享,以便大家在实践中对POM的特点.应用场景和核心思想有一定的理解和掌握. 为什么要用POM 基于python s ...

  10. Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)

    Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...

随机推荐

  1. 根据ip,实现地址信息查询接口

    偶然发现的360搜索的ip查询接口,记录下: 接口地址:https://m.so.com/position 使用方式1:传ip 如访问https://m.so.com/position?ip=47.1 ...

  2. 用UILabel实现文字滚动播放(跑马灯)效果

    - (void)viewDidLoad { [super viewDidLoad]; //数据源 self.messageArray = [NSArray arrayWithObjects: &quo ...

  3. Java通过class文件得到所在jar包

    今天遇到一个问题,需要通过知道的class文件得到该文件所在的jar包,试过很多办法都不行,最后在网上找到了一个解决办法,如下: demo.java 1 2 String path = XXX.cla ...

  4. myeclipse10 破解版安装

    安装包请看百度云: step1 step2 step3 step4 step5 step6 安装 svn,可以参考: http://www.cnblogs.com/OnlyCT/p/6061134.h ...

  5. Flappy Bird背后的故事

    更多有价值的互联网文章:晓煦分享(http://www.ihuxu.com/share) 由越南游戏工程师阮哈东(Nguyen Ha Dong)开发的Flappy Bird这款游戏,画面不算精致且看起 ...

  6. python打包工具pyinstaller的使用

    安装PyInstaller pip install pyinstaller 安装完后,检查安装成功与否: pyinstaller --version 安装成功后,就可以使用下面的命令了: pyinst ...

  7. win10下tomcat环境搭建

    一.下载tomcat 用浏览器打开tomcat官网:http://tomcat.apache.org/ 在左侧的导航栏Download下方选择最新的Tomcat 9,点击页面下方的“ 64-bit W ...

  8. [LeetCode&Python] Problem 693. Binary Number with Alternating Bits

    Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will a ...

  9. 电脑技巧合集 - imsoft.cnblogs

    ● 如何制作网页● 教你建一个别人打不开的文件夹 ● 只改一个值!马上加快宽带上网速度 ● 在电脑右下角显示你的名字● XP系统如何加快开机速度● 连接宽带时出错表示的意思 ● 恢复丢失数据的方法● ...

  10. .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter

    林德熙 小伙伴希望保存一个文件,并且希望如果出错了也要不断地重试.然而我认为如果一直错误则应该对外抛出异常让调用者知道为什么会一直错误. 这似乎是一个矛盾的要求.然而最终我想到了一个办法:让重试一直进 ...