我想在多個瀏覽器中運行一次後,只運行一次我的webdriver腳本。在我目前的框架中,我已經將所有瀏覽器名稱保存在屬性文件中,並從那裏獲取並傳遞參數。但問題是這樣,在一次執行中它只運行一個瀏覽器。如果我想在另一個瀏覽器中運行它,我必須通過第二個瀏覽器名稱進行第二次執行。 我想運行它一次,腳本應該執行一個瀏覽器,然後自動應該運行其他瀏覽器also.i我使用Junit。 怎樣才能做到這一點?如何在不改變參數的情況下在多個瀏覽器中運行Selenium webdriver腳本-java,
0
,
A
回答
0
看看Seleniun Grid或者您可以創建一個TestSuite並使用System屬性來設置瀏覽器。
是這樣的:
1-創建測試套件的所有測試用例你
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ MyClassTest.class, MySecondClassTest.class })
public class AllTests {
}
2-運行套房設置第一
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class MyTestRunner {
public static void main(String[] args) {
//Set browser
System.setProperty("browser","Firefox");
Result result = JUnitCore.runClasses(AllTests.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.setProperty("browser","Explorer");
Result result = JUnitCore.runClasses(AllTests.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
//.... Rest of the browsers .... //
}
}
3-使用該選項的屬性你應該得到財產並安裝你的測試(System.getProperty("browser");
)
public class MyClassTest{
private webDriver = new webDriver();
@Before
public void setUp(){
String browser = System.getProperty("browser");
if(browser.equals("Firefox"))
this.driver = new FirefoxDriver();
else if(browser.equals("Explorer")
this.driver = new .....
.....
}
//Your tests
@Test
-....
Hope help!
0
在@Morvader提到的方式執行後,我得到了事情做得很好。
我發現了另一種方法來做同樣的事情,而無需創建額外的類即Testrunner類。
通過@RunWith(Parameterized.class),這可以更簡單的方式來實現。在這種方法中不需要創建額外的TestRunner類的開銷。想到分享這個。
0
如果你想使用@RunWith(Parameterized.class)
作爲測試套件(@RunWith(Suite.class)
),你會發現在標準的JUnit 4中沒有兩者的組合。
您可以實現自己的Runner
或使用擴展庫就像this one。
相關問題
- 1. 在多個瀏覽器中同時運行Selenium RC腳本
- 2. 使用selenium-webdriver在多個瀏覽器中運行測試
- 3. 無法在safari 5中執行selenium webdriver腳本瀏覽器
- 4. 多個腳本如何在沒有webworkers的情況下運行?
- 5. 我可以在沒有瀏覽器的情況下運行Selenium網格嗎?
- 6. 不能在IE9瀏覽器中運行Selenium紅寶石的webdriver
- 7. RewriteRule在不改變瀏覽器地址的情況下
- 8. 用Selenium WebDriver運行TOR瀏覽器
- 9. 運行selenium webdriver java腳本時,瀏覽器窗口背後的所有內容
- 10. 瀏覽器在沒有我的輸入的情況下運行PHP腳本嗎?
- 11. Java中的Selenium Firefox Webdriver(運行參數)
- 12. 有沒有辦法在不安裝Eclipse的情況下運行selenium Java腳本?
- 13. Java Selenium WebDriver - 如何在不使用遠程WebDriver的情況下設置ScrollBehavior(elementScrollBehavior)?
- 14. 我可以在沒有webdriver的情況下在真實瀏覽器上運行selenium 2嗎?
- 15. 在輸入參數改變的情況下運行.exe
- 16. 我可以在不重置瀏覽器狀態的情況下依次運行多個RSpec/Selenium測試嗎?
- 17. 如何在不同的瀏覽器上運行我的selenium ruby腳本?
- 18. 我們可以在不安裝JDK的情況下在Selenium Webdriver中編寫和運行腳本嗎?
- 19. 如何在不使用./script.py的情況下運行python腳本?
- 20. 如何在不阻塞的情況下運行腳本?
- 21. 如何在不重定向的情況下運行PHP腳本?
- 22. 如何在不打開瀏覽器的情況下運行web進程#
- 23. 在不改變「查看」的情況下瀏覽內容
- 24. 如何在不使用Maven的情況下設置Selenium WebDriver?
- 25. 在不使用Selenium打開瀏覽器的情況下執行操作
- 26. 如何使用selenium webdriver在同一瀏覽器中並行運行測試?
- 27. 等待在Firefox瀏覽器中不工作(Webdriver selenium 2.0 + Java)
- 28. Selenium如何打開Web瀏覽器來運行硒腳本
- 29. 同時在多個瀏覽器中運行watir腳本
- 30. Selenium WebDriver - 如何在不打開瀏覽器的情況下獲取網頁內容
感謝@Morvader我得到了你的觀點通過創建一個測試套件運行的類。你能否說明你在MyTestRunner中做了什麼?是否只是在屬性文件中設置屬性值。在哪裏使用getproperty方法來獲取瀏覽器名稱 – rv05
@ rv05我已經更新了答案。希望有幫助! – Morvader
感謝@Morvader。這對我來說非常合適。 – rv05