[英]How can I run some test cases with chrome and come with Firefox using C# mstest?
總共有10個測試用例。 我需要用 chrome 運行一些測試用例,比如說用 chrome 運行 1-3 和 6-8 個測試用例,用 Firefox 運行 4-5 和 9-10 個測試用例。
幫助文件中的代碼是
static public IWebDriver GetWebDriverC(browserType brt)
{
ChromeOptions cOption = new ChromeOptions();
cOption.AddArgument("no-sandbox");
driver = new ChromeDriver(cOption);
driver.Navigate().GoToUrl(url);
return driver;
}
static public IWebDriver GetWebDriverFF(browserType brt, string url, string username, string password)
{
FirefoxDriverService service = FirefoxDriverService.CreateDefaultService();
service.FirefoxBinaryPath = @"path";
driver = new FirefoxDriver(service);
driver.Navigate().GoToUrl(url);
bool ele1 = AutoItX.WinExists("[CLASS:MozillaDialogClass]") == 1;
if (ele1)
{
AutoItX.WinActivate("[CLASS:MozillaDialogClass]");
AutoItX.Send(username);
AutoItX.Send("{TAB}");
AutoItX.Send(password);
AutoItX.Send("{ENTER}");
}
return driver;
}
不同用戶的用戶名和密碼是不同的。 主文件中有多個測試用例
[TestInitialize]
public void initilize()
{
Webd= Helper.GetWebDriverC(Chrome);
}
[Priority(0)]
[TestMethod]
public void 1()
{
}
[Priority(2)]
[TestMethod]
public void 2()
{
}
.
.
.
[Priority(10)]
[TestMethod]
public void 10()
{
}
測試初始化中只有一個驅動程序是 chrome,並且在每個測試用例運行之前 chrome 都會打開。 我希望當測試用例基於某些條件運行時,如前所述,測試用例在所需的瀏覽器上運行。 如何使用 C# mstest 實現這一目標?
這里的問題是您在TestInitialize
步驟中設置了 WebDriver,因此同一類中的任何測試都將使用相同的驅動程序,在本例中為 Chrome。
一種方法是為 FireFox 和 Chrome 設置單獨的測試類。
鉻測試:
public class ChromeTests
{
[TestInitialize]
public void initilize()
{
Webd = Helper.GetWebDriverC(Chrome);
}
[TestMethod]
public void 1()
{
}
}
火狐測試
public class FireFoxTests
{
[TestInitialize]
public void initilize()
{
Webd = Helper.GetWebDriverFF(Chrome);
}
[TestMethod]
public void 1()
{
}
}
替代解決方案包括:
在您的測試類中有兩個 WebDriver,一個用於 Chrome,一個用於 FireFox,然后您可以在測試中決定要使用哪個驅動程序。
在每個測試中創建一個新的 WebDriver 實例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.