2016-04-13 76 views
1

我爲我的Selenium Python測試結果報告使用了HTMLtestRunner。 測試完成時正在生成報告文件,但是當我打開文件時,它是空白的。該文件爲0kb
沒有任何內容正在寫入報告文件。Selenium Python HTMLTestRunner報告輸出爲空

我的測試套件代碼的實現是:

import sys, os 
import unittest 
from HTMLTestRunner2 import HTMLTestRunner 
from Utilities.HelperMethods import get_datetime_now 
import Regression_TestCase.RegressionProject_TestCase2 


class Test_Suite(unittest.TestCase): 
    def test_main(self): 
     # suite of TestCases 
     self.suite = unittest.TestSuite() 
     test_result_dir = os.path.join(
      r"C:\\Webdriver\\ClearCore Regression Test\\ClearCore - Regression Test\\TestReport\\") # Test report goes here 

     # open the report file 
     outfile = file(test_result_dir + "\TestReport_" + get_datetime_now() + ".html", "wb") 

     runner = HTMLTestRunner.HTMLTestRunner(stream=outfile, 
               title='Test Report', 
               description='Selenium - ClearCore Regression project automated test') 

     self.suite.addTests([ 
      unittest.defaultTestLoader.loadTestsFromTestCase(
       Regression_TestCase.RegressionProject_TestCase2.RegressionProject_TestCase2) 
     ]) 
     runner = unittest.TextTestRunner() 
     runner.run(self.suite) 


import unittest 

if __name__ == "__main__": 
    # unittest.main() 
    HTMLTestRunner.main() 

我RegressionProject_TestCase2片段是:

from Base.BaseTestCase import BaseTestCase 
from HTMLTestRunner2 import HTMLTestRunner 
import os 
from Locators import Globals 
# More imports 

class RegressionProject_TestCase2(BaseTestCase): 

### Test Login ### 

def test_000001_a1_login_empty_user_id_and_empty_password(self): 
    try: 
     print "*** testlogin_empty_user_id_and_empty_password ***" 
     self.login_page.user_login_invalid(Globals.login_username_blank, Globals.login_password_empty) 
     self.assertTrue(self.login_page.is_invalid_user_error_text_displayed(), "login_empty_user_id_and_empty_password failed. Please see log for details") 
    except Exception: 
     base_page = BasePage(self.driver) 
     base_page.save_screenshot("Test login_empty_user_id_and_empty_password") 
     raise 

### Lots more test cases 

if __name__ == "__main__": 
#unittest.main() 
HTMLTestRunner.main() 

爲什麼報表輸出空白?有些人可以幫助我的測試套件生成html報告。

感謝,里亞茲

+0

能否請您解決您的縮進,因爲這是在你的代碼?謝謝。 – alecxe

+0

我用固定縮進更新了我的測試套件。 –

回答

0

我提出我的代碼到另一臺服務器,我重新寫測試套件創建htmltestRunner HTML報告。它現在正在爲我工​​作。

我的測試套件實現:

import sys 
import unittest 
from HTMLTestRunner2 import HTMLTestRunner 
from Utilities.HelperMethods import get_datetime_now 
import os 
import unittest 
import Regression_TestCase.RegressionProjectEdit_TestCase 


class Test_Suite(unittest.TestCase): 
    def test_main(self): 


     tests_regression = unittest.TestLoader().loadTestsFromTestCase(
      Regression_TestCase.RegressionProjectEdit_TestCase.RegressionProject_TestCase_Project_Edit) 


     regression_tests = unittest.TestSuite([tests_regression]) 


def suite(): 
    """ 
     Gather all the tests from this module in a test suite. 
    """ 
    test_suite = unittest.TestSuite() 
    test_suite.addTest(unittest.makeSuite(Regression_TestCase.RegressionProjectEdit_TestCase.RegressionProject_TestCase_Project_Edit)) 
    return test_suite 


mySuit = suite() 

# output to a file 
test_result_dir = os.path.join(
    r"E:\\test_runners 2 edit project\\selenium_regression_test_5_1_1\\TestReport\\") 


# open the report file 
outfile = file(test_result_dir + "\ClearCore501_Automated_GUI_TestReport.html", "wb") 

# configure HTMLTestRunner options 
runner = HTMLTestRunner.HTMLTestRunner(stream=outfile, 
             title='Test Report', 
             description='Selenium - ClearCore 501 Regression edit project automated test') 

# run the suite using HTMLTestRunner 
runner.run(mySuit) 

if __name__ == "__main__": 
    # unittest.main() 
    HTMLTestRunner.main()