python selenium-6 HTML测试报告
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测试报告的更多相关文章
- Python+selenium 2【测试报告】
HTML报告 http://tungwaiyip.info/software/HTMLTestRunner.html 下载地址 这个扩展非常简单,只有一个HTMLTestRunner.py文件,选 ...
- Python +selenium之集成测试报告与unittest单元测试
随着软件不断迭代,对应的功能也会越来越多,从而对应的测试用例也会呈指数增长.如果将全部的测试用例集成在一个文件中就会显得特别的臃肿而且维护成本也会很高. 一个很好的放大就是将这些测试yo你给里按照功能 ...
- Python+selenium自动化生成测试报告
批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...
- Python+Selenium框架 ---自动化测试报告的生成
本文来介绍如何生成自动化测试报告,前面文章尾部提到了利用HTMLTestRunner.py来生成自动化测试报告.关于HTMLTestRunner不过多介绍,只需要知道是一个能生成一个HTML格式的网页 ...
- Python+Selenium 自动化测试获取测试报告内容并发送邮件
这里封装一个send_mail()方法,用于测试完成后读取测试报告内容,并将测试结果通过邮件发送到接收人 # coding: utf-8 import smtplib from email.mime. ...
- 【转】【Python + selenium】linux和mac环境,驱动器chromedriver和测试报告HTMLTestRunner放置的位置
感谢: 作者:gz_tester,文章:<linux和mac环境,chromedriver和HTMLTestRunner放置的位置> 使用场景 配置python selenium 环境 使 ...
- python+selenium +unittest生成HTML测试报告
python+selenium+HTMLTestRunner+unittest生成HTML测试报告 首先要准备HTMLTestRunner文件,官网的HTMLTestRunner是python2语法写 ...
- 使用python selenium进行自动化functional test
Why Automation Testing 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...
- Python Selenium设计模式-POM
前言 本文就python selenium自动化测试实践中所需要的POM设计模式进行分享,以便大家在实践中对POM的特点.应用场景和核心思想有一定的理解和掌握. 为什么要用POM 基于python s ...
- Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)
Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...
随机推荐
- DevExpress v17.2—WinForms篇(六)
用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.开篇介绍了DevExpress WinForms v17.2 Data Grid Control ...
- 配置javaBean
bean基本配置: <bean id="exampleBean" class="examples.ExampleBean"></bean> ...
- avalon 路由问题
1, 直接使用avalon的 amd加载器, 可以不需要 require.js 2, 配置baseUrl 路径, 这个一定要在 js所在的目录, 而不是jsp所在的目录, 如果js 和jsp分开 ...
- MySQL Performance Tuning: Tips, Scripts and Tools
With MySQL, common configuration mistakes can cause serious performance problems. In fact, if you mi ...
- js中的转换方法
1.var colors =['red','blue','green']; console.log(colors.toString()); // red,blue,green 总结:toString( ...
- centos yum出现no module named yum
运行yum出现如下错误 There was a problem importing one of the Python modules required to run yum. The error l ...
- 51Nod 1090: 3个数和为0
1090 3个数和为0 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等. ...
- PAT 团体程序设计天梯赛 L1-046 整除光棍(模拟除法)
L1-046. 整除光棍 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 翁恺 这里所谓的"光棍",并不是指单身汪 ...
- 百度地图API 绘制轨迹历史
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- nginx+keepalived实现负载均衡nginx的高可用
准备四台服务器 两台做主备,另外两台做访问 192.168.1.120 master 192.168.1.121 backup 192.168.1.122 nginx 192.168.1.123 ng ...