为什么python+htmltestrunner生成的测试报告有问题?
问题描述
问题:一个百度首页搜索的一个python+unittest测试,代码执行成功,但是用HTMLTestRunner输出的测试报告里面得内容有问题,具体问题是:测试条数,成功数,失败数都为0代码
# -*- coding: utf-8 -*-from selenium import webdriverimport osimport timeimport unittestimport reimport HTMLTestRunnerfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditionsfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.common.exceptions import NoAlertPresentExceptionclass LoginBaiDu(unittest.TestCase): def setUp(self):self.driver = webdriver.Chrome()self.driver.implicitly_wait(30)self.base_url = 'http://www.baidu.com'self.verificationErrors = []self.accept_next_alert = Trueprint(’Done-01’) def test_baidu(self):self.driver.get(self.base_url)self.driver.find_element_by_id('su').click()print(’Done-02’)time.sleep(2)jsClear='$('input[id=’kw’]').val('')'self.driver.execute_script(jsClear)print(’Done-03’)time.sleep(2)jsVal='$('input[id=’kw’]').val('selenium+python')'self.driver.execute_script(jsVal)time.sleep(1)self.driver.find_element_by_xpath('//input[@id=’su’]').click()print(’Done-04’)self.driver.close()print(’Done-05’) def tearDown(self):self.driver.quit()self.assertEqual([], self.verificationErrors)print('test down...') if __name__=='__main__':test=unittest.TestSuite()test.addTest(setUp)test.addTest(test_baidu)file_path='D:workspacePythonLearnsrcLoginBaiDuresult.html'file_result=open(file_path,’wb’)runner=HTMLTestRunner.HTMLTestRunner(stream=file_result,title=u'百度首页测试',description=u'用例执行情况')runner.run(test)file_result.close()
生成的报告截图:
问题解答
回答1:加测试用例的方式错了要test=unittest.TestSuite() test.addTest(LoginBaiDu(’setUp’))test.addTest(LoginBaiDu(’test_baidu’))
或者直接加入类test= unittest.TestLoader().loadTestsFromTestCase(LoginBaiDu)
相关文章:
1. javascript - 按钮链接到另一个网址 怎么通过百度统计计算按钮的点击数量2. java - jdbc如何返回自动定义的bean3. python - 请问这两个地方是为什么呢?4. 请教一个mysql去重取最新记录5. 大家都用什么工具管理mysql数据库?6. Python处理Dict生成json7. mysql的循环语句问题8. python - 为什么match匹配出来的结果是<_sre.SRE_Match object; span=(0, 54), match=’’>9. mysql优化 - mysql 一张表如果不能确保字段列长度一致,是不是就不需要用到char。10. mysql updtae追加数据sql语句
