406424383 发表于 2015-2-4 10:11:42

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:38

大神呢,大神在哪里

406424383 发表于 2015-2-4 10:20:19

大神都去哪了

406424383 发表于 2015-2-4 10:20:27

大神都去哪了

fjphlai 发表于 2015-2-4 11:02:02

我也不太懂,看代码好像也没错,如果运行没出错的话,会不会是你的 filename = "E:\\python\\code_selenium\\reports\\result1.html"路径之前是不存在的呢

406424383 发表于 2015-2-4 15:25:30

fjphlai 发表于 2015-2-4 11:02
我也不太懂,看代码好像也没错,如果运行没出错的话,会不会是你的 filename = "E:\\python\\code_selenium ...

用IDLE执行时可以生产测试报告的

ntgecm 发表于 2015-2-4 15:32:18

贴出日志出来看看呢

406424383 发表于 2015-2-4 15:50:48

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:19

我用的是pycharm3.4.1, 生成了报告,不过我的result1.html 这个文件是自己手动建的。脚本运行后,打开该文件发现有数据

fllt 发表于 2015-9-9 08:26:54

遇到同样的问题 怎么解决的求共享~~

l84222780 发表于 2015-9-9 11:03:06

我的報告是空白的,求答案呀!

32712784 发表于 2015-9-10 21:39:01

{:4_93:}我的也是生成了用浏览器打开就是空的,notepad++打开里面还是有数据,为什么呢?同问大神~~

l84222780 发表于 2015-9-11 09:05:27

32712784 发表于 2015-9-10 21:39
我的也是生成了用浏览器打开就是空的,notepad++打开里面还是有数据,为什么呢?同问大神~~

可以先建一個空白的result1.html的文檔,然後,操作試試。我就是這麼解決的。

32712784 发表于 2015-9-13 20:58:50

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

谢谢回复,但是实际是生成的html结果文本写入后没有关闭,导致打开是空的,我把python IDLE关闭后就能打开了!后面还需要修改程序来关闭写入的报告文本

log_1 发表于 2015-10-26 09:22:17

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:29

个人怀疑是你运行时出错了,如果你运行时运行了unittest的话是不会生成报告的,如果你运行的是当前的test的话是会生成报告的。可能我说得不够清楚,如果你用pycham的话,你点运行----->run 看看就知道是什么回事了

二娃 发表于 2016-1-9 21:46:22

和楼主遇见了同样的问题,确实用pycharm不会生成html文件,我是在命令行里运行了脚本,才会生成报告文件。

二娃 发表于 2016-1-9 21:51:15

我是楼上,我后来发现了问题所在,是软件使用问题,用alt+shift+f10,不要用crtl+shift+f0

二娃 发表于 2016-1-9 21:53:58

本帖最后由 二娃 于 2016-1-9 22:18 编辑

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

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

277169949 发表于 2016-3-31 21:24:01

HTMLTestRunner这个类在java中有没有啊
页: [1] 2
查看完整版本: HTMLTestRunner测试报告问题,在线等解答