Selenium [已解决] 求教:python 3.6 + selenium + HtmlTestRunner 用单元测试框架无法生成测试报告

kaka谁说不是 · 2018年04月11日 · 最后由 kaka谁说不是 回复于 2018年04月11日 · 1733 次阅读

新手学习使用 HtmlTestRunner 生成测试报告,发现在用单元测试框架的时候都没法生成测试报告,但是在不使用单元测试框架的时候是生成测试报告的,但是测试报告为空。查了好多资料都没解决。感觉跟我写的一样。。运行是没有问题的。。

源码如下:

#coding=utf-8

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
import unittest,os,re,time
import HTMLTestRunner

class Baidu(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.base_url = "http://baidu.com"
self.verificationErrors = []
self.accept_next_alert = True

def test_baidu_search(self):
driver = self.driver
driver.get(self.base_url)
search = driver.find_element_by_id('kw')
search.clear()
search.send_keys("selenium webdriver")
driver.find_element_by_id('su').click()
sleep(2)

def test_baidu_set(self):
driver = self.driver
# 进入搜索设置页
driver.get(self.base_url + "/gaoji/preferences.html")

# 设置搜索框提示不显示
driver.find_element_by_id('s1_2').click()
sleep(2)

# 保存
driver.find_element_by_xpath("//form[@name='f2']/div/input").click()
sleep(2)

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

def testSuite():
# 定义一个单元测试容器
testunit = unittest.TestSuite()

# 将测试用例添加到测试容器中
testunit.addTest(Baidu("test_baidu_search"))
testunit.addTest(Baidu("test_baidu_set"))

return testunit

if name == 'main':
now_time = time.strftime("%Y%m%d%H%M",time.localtime(time.time()))
print(now_time)
# 定义一个报告存放路径
filename = "testpages\" + now_time + "result.html"

fp = open(filename, 'wb')

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

# 运行测试用例
runner.run(testSuite())

fp.close()

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞
kaka谁说不是 关闭了讨论 04月11日 14:07
kaka谁说不是 重新开启了讨论 04月11日 14:07

使用什么编译器运行的

huj 回复

pycharm,然后我刚刚用 cmd 运行了一下就可以了。。是编译器的原因吗?

2楼 已删除
kaka谁说不是 关闭了讨论 04月11日 14:50
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册