2016-04-27 29 views
0

我正在用testNg在Java中開發一些Selenium WebDriver測試。我有一個啓動瀏覽器的基類,導航到登錄頁面並登錄。在基類中執行此操作的方法用@BeforeTest進行了註釋。我所有的測試類都擴展了這個基類。在TestNG測試中顯示來自@BeforeTest註釋的安裝日誌信息

我在@BeforeTest帶註釋的方法中包含了一些Reporter.log("...")調用來記錄初始登錄是否成功。然而這個輸出沒有出現在輸出文件中。

我的問題是:如何在輸出文件中包含@BeforeTest註釋方法的輸出?

回答

0

我能想到的唯一方法就是在數據提供者(在安裝過程中)中生成一條日誌信息字符串,然後使用Object []參數將日誌信息字符串傳遞給@Test方法(可選TestNG方法到@BeforeTest和/或@Test方法)。然後,您的@BeforeTest方法可以訪問該字符串,並可以使用Reporter.log將其打印出來。因此,換句話說,您將無法獲得任何@Configuration方法來在測試中顯示輸出(按照我的設計),但是您在DataProvider中執行的任何操作都可以傳遞給方法的@Test方法和/或@Before配置方法。

你可以做到的另一種方法是在測試類中保留一個字符串變量,以保持日誌信息。然後,在安裝過程中,將設置信息保存到該字符串,然後在@Test方法期間,使用Reporter.log(string, true);訪問它並將其打印到測試輸出。

這只是一個環境解決方法,我會說你不應該這樣做。如果你真的認爲你需要在測試日誌輸出中顯示設置信息,我會建議真正考慮爲什麼你認爲你需要這樣做,因爲這可能意味着你做了一些不尋常的事情,而不是常見的做法。

相關問題