51Testing软件测试论坛

标题: HTMLTestRunner测试报告问题,求大神指点 [打印本页]

作者: Rikufly    时间: 2015-9-7 10:03
标题: HTMLTestRunner测试报告问题,求大神指点
用python自带的IDLE执行脚本,能正常生成html测试报告。但是同样的代码,在eclipse + pydev中执行,就是没法生成html测试报告,这会是什么原因呢?


#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 Bing(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://www.bing.com/"
        self.verificationErrors = []
        self.accept_next_alert = True

    def test_bing_search(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_id("sb_form_q").send_keys("selenium webdriver")
        driver.find_element_by_id("sb_form_go").click()
        time.sleep(2)
        driver.close()

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

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

    runner.run(testunit)



在论坛里也看到有人碰到类似的问题,但是没有解决方案,求大神解答,谢谢!
http://bbs.51testing.com/thread-1046110-1-1.html

作者: Rikufly    时间: 2015-9-7 10:16
  1. #coding=utf-8
  2. from selenium import webdriver
  3. from selenium.webdriver.common.by import By
  4. from selenium.webdriver.common.keys import Keys
  5. from selenium.webdriver.support.ui import Select
  6. from selenium.common.exceptions import NoSuchElementException
  7. import unittest, time, re
  8. import HTMLTestRunner
  9. class Bing(unittest.TestCase):
  10.     def setUp(self):
  11.         self.driver = webdriver.Firefox()
  12.         self.driver.implicitly_wait(30)
  13.         self.base_url = "http://www.bing.com/"
  14.         self.verificationErrors = []
  15.         self.accept_next_alert = True

  16.     def test_bing_search(self):
  17.         driver = self.driver
  18.         driver.get(self.base_url + "/")
  19.         driver.find_element_by_id("sb_form_q").send_keys("selenium webdriver")
  20.         driver.find_element_by_id("sb_form_go").click()
  21.         time.sleep(2)
  22.         driver.close()

  23.     def tearDown(self):
  24.         self.driver.quit()
  25.         self.assertEqual([], self.verificationErrors)
  26. if __name__ == "__main__":
  27.     testunit = unittest.TestSuite()
  28.     testunit.addTest(Bing("test_bing_search"))
  29.     filename = "E:\\result1.html"
  30.     fp = file(filename, 'wb')

  31.     runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
  32.                                            title=u'必应搜索测试报告',
  33.                                            description=u'用例执行情况:')

  34.     runner.run(testunit)
复制代码

作者: w_d775    时间: 2015-9-7 13:46
看看文件的编码格式是否和之前的一样,如不同,请改成一样的
作者: Rikufly    时间: 2015-9-7 23:07
w_d775 发表于 2015-9-7 13:46
看看文件的编码格式是否和之前的一样,如不同,请改成一样的
  1. import sys
  2. reload(sys)
  3. sys.setdefaultencoding('utf-8')
复制代码

在别的IDE是可能报编码错误的问题,加了上面的代码问题能解决。
不过eclipse中加了后,还是没法生成。
倒不是说eclipse压根没法生成,比如下面的代码就OK,真是奇怪。
  1. #coding=utf-8

  2. import unittest
  3. import HTMLTestRunner

  4. class Testlist(unittest.TestCase):
  5.     def test_1(self):
  6.         print "test1"
  7.     def test_2(self):
  8.         print "test2"
  9.   
  10. def suiting():
  11.     filename ="d:\\result.html"
  12.     fp = file(filename,"wb")
  13.     suit = unittest.TestSuite()
  14.     suit.addTests(unittest.defaultTestLoader.loadTestsFromTestCase(Testlist))
  15.    
  16.     runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title="testing result",description="trying")
  17.     runner.run(suit)
  18. suiting()
复制代码
suiting()是必须加的




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