51Testing软件测试论坛

标题: HTMLTestRunner测试报告问题,在线等解答 [打印本页]

作者: 406424383    时间: 2015-2-4 10:11
标题: HTMLTestRunner测试报告问题,在线等解答
以下是代码:
#coding=utf-8
from selenium import webdriver
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, time, re
import HTMLTestRunner
class Baidu(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://www.baidu.com/"
        self.verificationErrors = []
        self.accept_next_alert = True

    def test_baidu_search(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_id("kw").send_keys("selenium webdriver")
        driver.find_element_by_id("su").click()
        time.sleep(2)
        driver.close()

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
    testunit = unittest.TestSuite()
    testunit.addTest(Baidu("test_baidu_search"))
    filename = "E:\\python\\code_selenium\\reports\\result1.html"
    fp = file(filename, 'wb')

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

    runner.run(testunit)
那么问题来了:
为什么我用pychram执行脚本,不生成测试报告
用idle执行脚本却可以生成测试报告
求大神解答


作者: 406424383    时间: 2015-2-4 10:19
大神呢,大神在哪里
作者: 406424383    时间: 2015-2-4 10:20
大神都去哪了
作者: 406424383    时间: 2015-2-4 10:20
大神都去哪了
作者: fjphlai    时间: 2015-2-4 11:02
我也不太懂,看代码好像也没错,如果运行没出错的话,会不会是你的 filename = "E:\\python\\code_selenium\\reports\\result1.html"  路径之前是不存在的呢
作者: 406424383    时间: 2015-2-4 15:25
fjphlai 发表于 2015-2-4 11:02
我也不太懂,看代码好像也没错,如果运行没出错的话,会不会是你的 filename = "E:\\python\\code_selenium ...

用IDLE执行时可以生产测试报告的
作者: ntgecm    时间: 2015-2-4 15:32
贴出日志出来看看呢
作者: 406424383    时间: 2015-2-4 15:50
ntgecm 发表于 2015-2-4 15:32
贴出日志出来看看呢

C:\Python27\python.exe "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.4\helpers\pycharm\utrunner.py" E:\python\code_selenium\test_case\report.py true
Testing started at 10:49 ...

Process finished with exit code 0

作者: chengd2014    时间: 2015-3-20 13:42
我用的是pycharm3.4.1, 生成了报告,不过我的result1.html 这个文件是自己手动建的。脚本运行后,打开该文件发现有数据
作者: fllt    时间: 2015-9-9 08:26
遇到同样的问题 怎么解决的  求共享~~
作者: l84222780    时间: 2015-9-9 11:03
我的報告是空白的,求答案呀!
作者: 32712784    时间: 2015-9-10 21:39
我的也是生成了用浏览器打开就是空的,notepad++打开里面还是有数据,为什么呢?同问大神~~
作者: l84222780    时间: 2015-9-11 09:05
32712784 发表于 2015-9-10 21:39
我的也是生成了用浏览器打开就是空的,notepad++打开里面还是有数据,为什么呢?同问大神~~

可以先建一個空白的result1.html的文檔,然後,操作試試。我就是這麼解決的。
作者: 32712784    时间: 2015-9-13 20:58
l84222780 发表于 2015-9-11 09:05
可以先建一個空白的result1.html的文檔,然後,操作試試。我就是這麼解決的。

谢谢回复,但是实际是生成的html结果文本写入后没有关闭,导致打开是空的,我把python IDLE关闭后就能打开了!后面还需要修改程序来关闭写入的报告文本
作者: log_1    时间: 2015-10-26 09:22
def test_baidu_search(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_id("kw").send_keys("selenium webdriver")
        driver.find_element_by_id("su").click()
        time.sleep(2)
        driver.close()
你在这个测试用例方法中没有加入预期结果和实际结果的比较,肯定不能生产报告数据,还有,driver对象最好在def tearDown(self):中进行关闭,def setUp(self)中的智能等待时间也应该放在测试用例方法中执行,在get方法之后,等待页面打开。
作者: Ryan_Go    时间: 2015-11-4 16:37
个人怀疑是你运行时出错了,如果你运行时运行了unittest的话是不会生成报告的,如果你运行的是当前的test的话是会生成报告的。可能我说得不够清楚,如果你用pycham的话,你点运行----->run 看看就知道是什么回事了
作者: 二娃    时间: 2016-1-9 21:46
和楼主遇见了同样的问题,确实用pycharm不会生成html文件,我是在命令行里运行了脚本,才会生成报告文件。
作者: 二娃    时间: 2016-1-9 21:51
我是楼上,我后来发现了问题所在,是软件使用问题,用alt+shift+f10,不要用crtl+shift+f0
作者: 二娃    时间: 2016-1-9 21:53
本帖最后由 二娃 于 2016-1-9 22:18 编辑

我是二娃,后来发现了问题所在,是软件使用问题
运行脚本,楼主一定是用了快捷键
CTRL+SHIFT+F10
切记,要用
ALT+SHIFT+F10,然后去选择你的脚本的文件名字,去执行。
就一切正常了!!!!后来又学了点知识,来现学现卖了

某些ide,在遇到单元测试框架的时候,测试用例本身和下面的执行过程,是分开执行的。
就是说if __name__=="__main__"下面的执行过程是不被执行的。
只是执行了面用例的脚本部分。

作者: 277169949    时间: 2016-3-31 21:24
HTMLTestRunner  这个类在java中有没有啊
作者: yishuichuxia1    时间: 2016-4-26 10:17
同样的问题,有人解决了吗,按照alt+shift+F10也没有解决呢
作者: Miss_love    时间: 2016-5-30 18:07
问题解决:
pycharm 菜单栏--run ---添加需要执行的脚本---执行 就会生成报告了。。
作者: 丶结局    时间: 2016-7-11 09:48
15楼说的可以
作者: oo0vini0oo    时间: 2016-8-29 16:21
fp.close() 加在最后。文件没有关闭。
作者: oo0vini0oo    时间: 2016-8-29 16:21
fp.close() 加在最后。文件没有关闭。
作者: 常以慎    时间: 2019-8-28 20:57
在pycharm里执行这段代码要用python执行,不能用unit执行,不然不会执行main方法。
if __name__ == "__main__"    unit执行不会执行这里面的任何代码




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2