问题:一个百度首页搜索的一个python+unittest测试,代码执行成功,但是用HTMLTestRunner输出的测试报告里面得内容有问题,具体问题是:测试条数,成功数,失败数都为0
代码
# -*- coding: utf-8 -*-
from selenium import webdriver
import os
import time
import unittest
import re
import HTMLTestRunner
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions
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
from selenium.common.exceptions import NoAlertPresentException
class 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 = True
print('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:\\workspace\\PythonLearn\\src\\LoginBaiDu\\result.html"
file_result=open(file_path,'wb')
runner=HTMLTestRunner.HTMLTestRunner(stream=file_result,title=u"百度首页测试",description=u"用例执行情况")
runner.run(test)
file_result.close()
生成的报告截图:
天蓬老师2017-04-18 10:28:09
테스트 사례를 추가하는 잘못된 방법은 test=unittest.TestSuite()
test.addTest(LoginBaiDu('setUp'))
test.addTest(LoginBaiDu('test_baidu'))
또는 직접 수업에 참여test= unittest.TestLoader().loadTestsFromTestCase(LoginBaiDu)