调用test case集,并生成测试报告
结构是

test_all.py 进行配置,执行所有测试用例集,并合并测试报告到同一个文件
#test_all.py 进行配置,执行所有测试用例集
# coding = utf-8 from time import sleep
from selenium import webdriver
from test01 import project as T1
from test02 import project as T2
#from test.test222 import projectClass
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import unittest,time,os,logging,HTMLTestRunner,sys #class ptestlist(unittest.TestSuite):
class ptestlist(unittest.TestSuite):
def test_module():
suite1 = T1.suite
suite2 = T2.suite
alltests = unittest.TestSuite((suite1, suite2))
return alltests suite = test_module() filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
filename=os.path.join(os.getcwd()+'/log/'+filetime+'-'+filetestname+'.html')
f=open(filename,encoding='utf-8',mode='a') runner = HTMLTestRunner.HTMLTestRunner(
stream=f,
#title='Test Result/测试结果',
title=filetestname+'--测试结果--',
description=filetestname+'--测试报告--',
verbosity=2)
runner.run(suite)
test01.py 测试用例集1,也可以单独进行测试并生成测试报告
# test01.py 测试用例集1,也可以单独进行测试并生成测试报告
# coding = utf-8 from time import sleep
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import unittest,time,os,HTMLTestRunner,sys class projectTestSuite(unittest.TestSuite):
def __init__(self):
# 初始化,添加__init__以供调用,另在此添加所想测试的case形成测试集提供给suite
unittest.TestSuite.__init__(self,map(projectClass,("test01OK","test02Search")))
# 如果用于测试的类中所有的测试方法都以test开,可以用PyUnit模块提供的makeSuite()方法来构造一个TestSuite
# return unittest.makeSuite(projectClass, "test") class projectClass(unittest.TestCase):
def setUp(self):
"just for setUp"
print("start test projectClass")
self.driver= webdriver.Chrome()
self.driver.get("http://www.baidu.com") def test01OK(self):
"test01:测试登录"
driver = self.driver
driver.find_element_by_link_text("登录").click()
driver.find_element_by_id("TANGRAM__PSP_8__userName").send_keys("小泠哦")
driver.find_element_by_id("TANGRAM__PSP_8__password").send_keys("900617poppyp")
driver.find_element_by_id("TANGRAM__PSP_8__submit").click()
sleep(3)
a = driver.find_element_by_name("tj_home").get_attribute("text")
if a == "小泠哦":
print("the admin is 小泠哦")
else:print("the admin is false")
sleep(3)
driver.find_element_by_name("tj_logout").click()
b = driver.find_element_by_name("lb").get_attribute("text")
if b == "登录":
print("It's exist")
else:print("No exist") def test02Search(self):
"test02:测试搜索"
driver = self.driver
driver.find_element_by_id("kw1").send_keys("ETAH")
driver.find_element_by_id("su1").click()
sleep(3)
link1 = driver.find_element_by_id("")
linktxt = link1.find_element_by_tag_name("a").get_attribute("text")
print(linktxt) def tearDown(self):
driver = self.driver
driver.quit() class project():
def suite():
return projectTestSuite()
suite = suite() if __name__ == "__main__":
filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
filename=os.path.join(os.getcwd()+'/log/'+filetime+'-'+filetestname+'.html')
#filename='G:/Auto Test/test/log/log.html'
f=open(filename,encoding='utf-8',mode='a') runner = HTMLTestRunner.HTMLTestRunner(
stream=f,
#title='Test Result/测试结果',
title=filetestname+'--测试结果--',
description=filetestname+'--测试报告--',
verbosity=2) runner.run(project.suite)
# test02.py 测试用例集2,也可以单独进行测试并生成测试报告
# coding = utf-8 from time import sleep
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import unittest,time,os,HTMLTestRunner,sys class projectTestSuite(unittest.TestSuite):
def __init__(self):
unittest.TestSuite.__init__(self,map(projectClass,(
"test03News",
#"test04Search",
"test05Fail"
))) class projectClass(unittest.TestCase):
def setUp(self):
"just for setUp"
print("start test projectClass")
self.driver= webdriver.Chrome()
self.driver.get("http://www.baidu.com") def test03News(self):
"test03:测试新闻"
driver = self.driver
driver.find_element_by_link_text("新 闻").click()
driver.find_element_by_link_text("互联网").click()
new = driver.find_element_by_id("body")
news = new.find_elements_by_tag_name("a")
for element in news:
if element.get_attribute("class") =="a3":
return element.get_attribute("text") def test04Search(self):
"test04:测试搜索"
driver = self.driver
driver.find_element_by_id("kw1").send_keys("东信同邦")
driver.find_element_by_id("su1").click()
sleep(3)
link1 = driver.find_element_by_id("")
linktxt = link1.find_element_by_tag_name("a").get_attribute("text")
print(linktxt) def test05Fail(self):
"test05:尝试制造fail"
driver = self.driver
A = driver.find_element_by_id("cp").get_attribute("text")
print("A is:",A)
self.assertEqual(A, "音乐") def tearDown(self):
driver = self.driver
driver.quit() class project():
def suite():
return projectTestSuite()
suite = suite() if __name__ == "__main__":
filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
filename=os.path.join(os.getcwd()+'/log/'+filetime+'-'+filetestname+'.html')
#filename='G:/Auto Test/test/log/log.html'
f=open(filename,encoding='utf-8',mode='a') runner = HTMLTestRunner.HTMLTestRunner(
stream=f,
#title='Test Result/测试结果',
title=filetestname+'--测试结果--',
description=filetestname+'--测试报告--',
verbosity=2) runner.run(project.suite)
test02.py 测试用例集2,也可以单独进行测试并生成测试报告
# test02.py 测试用例集2,也可以单独进行测试并生成测试报告
# coding = utf-8 from time import sleep
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import unittest,time,os,HTMLTestRunner,sys class projectTestSuite(unittest.TestSuite):
def __init__(self):
unittest.TestSuite.__init__(self,map(projectClass,(
"test03News",
#"test04Search",
"test05Fail"
))) class projectClass(unittest.TestCase):
def setUp(self):
"just for setUp"
print("start test projectClass")
self.driver= webdriver.Chrome()
self.driver.get("http://www.baidu.com") def test03News(self):
"test03:测试新闻"
driver = self.driver
driver.find_element_by_link_text("新 闻").click()
driver.find_element_by_link_text("互联网").click()
new = driver.find_element_by_id("body")
news = new.find_elements_by_tag_name("a")
for element in news:
if element.get_attribute("class") =="a3":
return element.get_attribute("text") def test04Search(self):
"test04:测试搜索"
driver = self.driver
driver.find_element_by_id("kw1").send_keys("东信同邦")
driver.find_element_by_id("su1").click()
sleep(3)
link1 = driver.find_element_by_id("")
linktxt = link1.find_element_by_tag_name("a").get_attribute("text")
print(linktxt) def test05Fail(self):
"test05:尝试制造fail"
driver = self.driver
A = driver.find_element_by_id("cp").get_attribute("text")
print("A is:",A)
self.assertEqual(A, "音乐") def tearDown(self):
driver = self.driver
driver.quit() class project():
def suite():
return projectTestSuite()
suite = suite() if __name__ == "__main__":
filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
filename=os.path.join(os.getcwd()+'/log/'+filetime+'-'+filetestname+'.html')
#filename='G:/Auto Test/test/log/log.html'
f=open(filename,encoding='utf-8',mode='a') runner = HTMLTestRunner.HTMLTestRunner(
stream=f,
#title='Test Result/测试结果',
title=filetestname+'--测试结果--',
description=filetestname+'--测试报告--',
verbosity=2) runner.run(project.suite)
调用test case集,并生成测试报告的更多相关文章
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
- python selenium-webdriver 生成测试报告
测试最后的一个重要的过程就是生成一份完整的测试报告,生成测试报告的主要是通过python的一个第三方模块HTMLTestRunner.py生成,但是生成的测试报告不是特别的美观,而且没有办法统计测试结 ...
- python接口自动化测试(七)unittest 生成测试报告
用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用: 一.下载HTMLTestRunner下载: ...
- 3.5 unittest生成测试报告HTMLTestRunner
3.5 unittest生成测试报告HTMLTestRunner 前言批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的.unittest里面是不 ...
- python语言(八)多线程、多进程、虚拟环境、unittest、生成测试报告
一.多线程 进程与线程 进程:进程是资源(CPU.内存等)分配的最小单位,进程有独立的地址空间与系统资源,一个进程可以包含一个或多个线程 线程:线程是CPU调度的最小单位,是进程的一个执行流,线程依赖 ...
- unittest---unittest生成测试报告
我们做测试的人员们都知道测试完成后,肯定是会生成一个测试报告,那么当我们做自动化的时候,这个自动化报告也可以自动生成吗?python当然可以了! HTMLTestRunner HTMLTestRunn ...
- Python单元测试框架unittest之生成测试报告(HTMLTestRunner)
前言 批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLT ...
- python + pytest + allure生成测试报告
pytest结合allure生成测试报告 环境搭建 要安装java环境,版本要是jdk1.8的,配置好java环境变量,不然输入allure命令会报错,JAVA_HOME环境,自行配置 安装allur ...
- python之单元测试_生成测试报告
(1)HTMLTestRunner.py的下载路径:https://pan.baidu.com/s/1Yk2E8d8bIo5_rmpussOE9Q 提取码:0jae (2)HTMLTestRunner ...
随机推荐
- php session_set_save_handler 函数的用法(mysql)(转)
<?php /*============================文件说明======================================== @filename: s ...
- opengl 函数
( 7 )光栅化.象素操作函数. 像素位置 glRasterPos*() .线型宽度 glLineWidth() .多边形绘制模式 glPolygonMode() ,读取象素 glReadPixel( ...
- Unity3d Awake、OnEnable、Start生命周期
Unity3d,Awake.OnEnable.Start,都是游戏开始运行前,所运行的方法. GameObject的Activity为true,脚本的enable为true时,其先后顺序为:Awake ...
- const常量折叠
首先来看一个例子: int main(int argc, char* argv[]) { ; int *j = (int *) &i; *j=; cout<<&i<& ...
- Swift 算法实战之路:基本语法与技巧
Swift是苹果新推出的编程语言,也是苹果首个开源语言.相比于原来的Objective-C,Swift要更轻便和灵活.笔者最近使用Swift实践了大量的算法(绝大部分是硅谷各大公司的面试题),将心得体 ...
- vim 设定一个新的snippets
目录 ~/.vim/bundle/vim-snippets/snippets 编辑 _.snippets 在最后添加一行自己需要的,比如想要个自己的名字,然后按tab,即出现全称,可以添加如下内容 s ...
- POJ 3162 Walking Race(树的直径+单调队列)
题目大意:对一棵树,求出从每个结点出发能到走的最长距离(每个结点最多只能经过一次),将这些距离按排成一个数组得到dis[1],dis[2],dis[3]……dis[n] ,在数列的dis中求一个最长的 ...
- 得于吾师傅的js知识 js类,单写模板,和私有保护的方法
js的类的写法: 1,写法一:function内部包含this.function()如代码: var origin_class = function(name) { var lover = ''; t ...
- 第二部分面向对像基础第五章Strng类中方法的使用
package com.java.oop.day2; import java.util.Calendar; import java.util.Formatter; import java.util.L ...
- C#异常处理表、类、SQL
表SQL /****** Object: Table [dbo].[IError] Script Date: 09/05/2012 17:00:41 ******/ SET ANSI_NULLS ON ...