2013-11-26 70 views
0

我使用的是帶有junit,ant和jenkins的Selenium WebDriver。 我設置了jenkins來使用ant build.xml來運行我的測試。但是目前我只運行一次測試。在build.xml中,我設置了每個測試中使用的變量。所以要在Jenkins中運行測試我在Target中設置:如何在螞蟻或詹金斯中組織測試序列

build MyTest1 -Dvariable="value" 

我想按順序依次運行所有測試。我試試這個:

build MyTest1 -Dvariable="value" MyTest2 -Dvariable="value" 

但是2個測試開始在瀏覽器中同時運行。我怎樣才能組織需要的序列。也許有一些方法可以在build.xml中做到這一點?我想我可以創建目標,其中運行測試的調用目標,但在這種情況下如何設置我的變量?我是新來的螞蟻,所以請指教我的解決方案。

我需要澄清 - 我的測試是獨立的,我不會以一些穩定的順序運行它們。問題是測試在瀏覽器中並行運行。我需要運行第一次測試,並且只有在完成後 - 運行第二次測試。

+0

什麼是「jnit」? –

+0

對不起,JUnit中,它僅僅是錯字 – khris

+0

您可以設置ant屬性到要從命令行傳遞給一個變量的值(注意這是不可改變的)有你的依賴鏈與你的目標產生:MyTest1 ,MyTest2 ...? – user1587504

回答

1

首先,測試應該有一點依賴性。在你的情況下,你的測試依賴於一個全局變量 - 試圖擺脫它。使用一個「配置」對象,您可以通過安全的方式從測試中修改該對象,然後使用您的應用程序代碼對其進行配置。

從而減少上述的問題「我怎麼收集了大量的測試」這個問題的答案是:Use a test suite

import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 
@RunWith(Suite.class) 
@Suite.SuiteClasses({ 
    MyTest1.class, 
    MyTest2.class 
}) 
public class JunitTestSuite { 
}