目前我必須在@Before
方法的每個類中創建WebDriver實例。我想知道如何才能創建WebDriver一次,並在不同的測試中使用它(testng.xml
文件中的<test>
標記)。TestNG中的WebDriver實例共享<test>
1
A
回答
0
有許多方式可以做到這一點。一是方法是創建一個共同的驅動程序類
public class Driver {
public static WebDriver driver=null;
public static WebDriver startdriver(String browser){
if(browser.equalsIgnoreCase("Chrome")){
System.setProperty("webdriver.chrome.driver", "/home/vicky/Documents/Jars/chromedriver");
driver=new ChromeDriver();
}else if(browser.equals("Firefox")){
driver=new FirefoxDriver();
}
return driver;
}
}
在你面前的套房方法初始化驅動
@BeforeSuite
public static void Openbrowser() {
Driver.startdriver("Firefox");
Driver.driver.manage().window().maximize();
}
//use the driver instance
@Test
public void goto(){
//Accessing the driver static variable by using classname.variable(Driver.driver)
Driver.driver.get("http://www.google.com")
}
希望這可以幫助您...請回來,如果你需要任何進一步的幫助
0
你可以有一個threadlocal webdriver實例在ITestListener's實例化onSta rt方法,您可以在您的測試方法中使用它。在完成方法中退出。這將在測試標籤中的所有類中的所有方法之間共享驅動程序實例,併爲所有測試標籤創建新的驅動程序實例。
確保您的並行設置爲測試或假。
相關問題
- 1. 在使用Selenium,TestNG和Cucumber-JVM時共享一個WebDriver實例
- 2. RSpec的共享實例不能共享
- 3. 共享NSHTTPCookieStorage實例
- 4. 共享實例swift
- 5. 如何在NUnit和C#中共享一個Selenium webdriver實例?
- 6. 共享一個PrintDocument實例
- 7. IIS實例共享數據
- 8. 關於在共享實例
- 9. Scalatest共享服務實例
- 10. swift中的共享實例問題
- 11. 在類實例中共享變量
- 12. 共享單實例共享庫的沒有導出它
- 13. SpecFlow + Selenium-WebDriver:跨步共享WebDriver?
- 14. 在不同的實例上共享SerialPort
- 15. CloudService實例之間的共享狀態
- 16. Amazon EC2實例的共享數據
- 17. 共享變量的多個ScriptControl實例
- 18. 應用程序的共享實例-iPhone
- 19. 由對象共享的實例變量?
- 20. 加載共享庫的兩個實例
- 21. 跨實例共享的Javascript變量
- 22. 作爲共享實例的設置
- 23. Android上共享庫的實例
- 24. 的iOS:保留一個共享實例
- 25. 共享類實例(創建和共享單例)的最佳方式是什麼?
- 26. Selenium WebDriver Testng
- 27. webdriver DataProvider TestNG
- 28. 兩個UICollectionView實例共享相同的UICollectionViewFlowLayout實例嗎?
- 29. TestNG @Factory和實例組和實例
- 30. 跨模板實例共享功能
如果你想讓多個測試並行運行,你不能高效地使用webdriver的單個實例。如果順序執行你可以使用下面的答案。 – Shamik