51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2737|回复: 3
打印 上一主题 下一主题

HTMLTestRunner测试报告问题,求大神指点

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-9-7 10:03:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2015-9-7 10:16:40 | 只看该作者
  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)
复制代码
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2023-3-4 10:30
  • 签到天数: 660 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2015-9-7 13:46:13 | 只看该作者
    看看文件的编码格式是否和之前的一样,如不同,请改成一样的

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 恭喜你获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2015-9-7 23:07:01 | 只看该作者
    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()是必须加的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 05:32 , Processed in 0.066017 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表