python之HTMLTestRunner报告

#coding = utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest,os,re,time
import HTMLTestRunner #引入HTMLTestRunner 包
#以下三行如不注释,运行完成后在IDEL(python GUI)里不显示.(成功)E(程序自身错误)F(失败)信息
#import sys
#reload(sys)
#sys.setdefaultencoding('utf-8')

class Baidu(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Ie()
        self.driver.implicitly_wait(30)
        self.base_url = "http://"
        self.verificationErrors = []
        self.accept_next_alert = True

    def test_baidu_search(self):
        driver = self.driver
        driver.get(self.base_url + "www.baidu.com/")
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys("selenium webdriver")
        driver.find_element_by_id("su").click()
        time.sleep(1)

    def test_baidu_pan(self):
        driver = self.driver
        driver.get(self.base_url + "pan.baidu.com/")
        driver.find_element_by_class_name('account-title').click()
        time.sleep(1)
        driver.find_element_by_id("TANGRAM__PSP_4__userName").clear()
        time.sleep(1)
        driver.find_element_by_id("TANGRAM__PSP_4__userName").send_keys("username")
        time.sleep(1)
        driver.find_element_by_id("TANGRAM__PSP_4__password").clear()
        time.sleep(1)
        driver.find_element_by_id("TANGRAM__PSP_4__password").send_keys("password")
        driver.find_element_by_id("TANGRAM__PSP_4__submit").submit()
        time.sleep(1)
        above = driver.find_element_by_xpath('/html/body/div[1]/div[3]/div/div/dl/dd[2]/span/i')
        ActionChains(driver).move_to_element(above).perform()
        driver.find_element_by_xpath('/html/body/div[1]/div[3]/div/div/dl/dd[2]/span/dl/dd/ul/li[3]/a').click()
        driver.find_element_by_id("_disk_id_4").click()
        time.sleep(1)

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([],self.verificationErrors)

if __name__ == "__main__":
    testunit = unittest.TestSuite()

    testunit.addTest(Baidu("test_baidu_search"))
    testunit.addTest(Baidu("test_baidu_pan"))
#    now = time.strftime("%Y-%m-%M-%H_%M_%S",time.localtime(time.time()))

    filename = 'D:\\Python27\\test_case\\result.html'
    fp = file(filename,'wb')
#    fp=open("result"+now+".html",'wb')

    runner = HTMLTestRunner.HTMLTestRunner(
        stream = fp,
        title = u'百度搜索测试报告',
        description = u'用例执行情况:')

    runner.run(testunit)
    fp.close()#如果不加入这个文件关闭步骤,会发现生成的result.html文件没法删除(提示被占用),浏览器打开的html页面为空白

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.将 HTMLTestRunner.py 放置在 C:\Python36\Lib 下 2.涉及到创建目录和时间,需要在脚本开头 import os import time 3.执行脚本中删除语句 unittest.main() ,一般在脚本最后,然后添加如下语句: #导入HTMLTestRunner库,这句也可以放在脚本开头 from HTMLTestRunner import HTMLTestRunner #定义脚本标题,加u为了防止中文乱码 report_title = u'登陆模块测试报告' #定义脚本内容,加u为了防止中文乱码 desc = u'手机JPG登陆模块测试报告详情:' #定义date为日期,time为时间 date=time.strftime("%Y%m%d") time=time.strftime("%Y%m%d%H%M%S") #定义path为文件路径,目录级别,可根据实际情况自定义修改 path= 'D:/Python_test/'+ date +"/login/"+time+"/" #定义报告文件路径和名字,路径为前面定义的path,名字为report(可自定义),格式为.html report_path = path+"report.html" #判断是否定义的路径目录存在,不能存在则创建 if not os.path.exists(path): os.makedirs(path) else: pass #定义一个测试容器 testsuite = unittest.TestSuite() #将测试用例添加到容器 testsuite.addTest(测试类名("测试方法名1")) testsuite.addTest(测试类名("测试方法名2")) #将运行结果保存到report,名字为定义的路径和文件名,运行脚本 with open(report_path, 'wb') as report: runner = HTMLTestRunner(stream=report, title=report_title, description=desc) runner.run(testsuite) #关闭report,脚本结束 report.close()

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值