我是新來的測試自動化現場,所以原諒我,如果這是一個愚蠢的問題,但谷歌這次失敗了。或者至少我讀到的任何東西都讓我更加困惑。JUnit 4中是否有相當於testNG的@BeforeSuite?
我在Eclipse中使用JUnit 4和Selenium Webdriver。我有幾個測試,我需要作爲套件運行,也是單獨運行。目前這些測試在單獨運行時運行良好。在測試開始時,輸入框會呈現給測試人員/用戶,首先詢問他們希望測試哪個服務器(這是一個字符串變量,它成爲URL的一部分)以及他們希望測試的瀏覽器。當在一個套件中運行測試時,用戶在每次測試開始時都會被詢問,因爲顯然這被編碼到每個@Before方法中。
我該如何接受這些值一次,並將它們傳遞給每種測試方法?
因此,如果服務器=「server1」和瀏覽器=「firefox」,那麼firefox是我希望硒使用的瀏覽器,我希望它打開的URL是http://server1.blah.com/,適用於以下所有測試方法。我一直使用獨立的@Before方法的原因是因爲每個測試方法所需的URL略有不同。即每個方法測試不同的頁面,如server1.blah.com/something和server1.blah.com/somethingElse
測試運行良好,我只是不想繼續輸入值,因爲測試的數量方法最終會安靜得很大。
我也可以將我的測試轉換爲testNG,如果在testNG中有這樣做的更簡單的方法。我認爲@BeforeSuite註釋可能有效,但現在我不確定。
任何建議和批評(建設性的那種),我們非常感激
謝謝馬修,這有幫助。害怕我不得不問你一些可怕的noob問題雖然(第一行
this(builder, klass, getAnnotatedClasses(klass));
將無法正常工作,因爲getAnnotatedClasses(類>)是不可見的第二我不確定在哪裏定義getUrlFromUser().. ...我意識到我可能會有點頭大,我會很感激你的耐心:) – user1088166你在你的問題中說'輸入框呈現給用戶'這將是getUrlFromUser,它不會真的很重要,但是在MySuite中可能會是一個好地方。至於這個(...)你使用的是哪個版本的JUnit? –
好吧,我現在正在關注你。我使用的是JUnit 4.這可能並不相關,但我最初使用selenium IDE創建了測試用例,然後將它們導出爲JUnit 4(WebDriver)測試用例,以便在eclipse中與它們一起使用。 – user1088166