首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在chrome上运行一些测试用例,并使用C# mstest附带火狐?

如何在chrome上运行一些测试用例,并使用C# mstest附带火狐?
EN

Stack Overflow用户
提问于 2020-10-16 22:48:40
回答 1查看 31关注 0票数 0

总共有10个测试用例。我需要用chrome运行一些测试用例,比如用chrome运行1-3和6-8测试用例,用firefox运行4-5和9-10测试用例。

helper文件中的代码是

代码语言:javascript
运行
复制
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;
        }

不同用户的用户名和密码不同。主文件中有多个测试用例

代码语言:javascript
运行
复制
[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()
{
}

在Test initialize中只有一个驱动程序,那就是chrome,并且chrome在每次测试用例运行之前都会打开。我希望当测试用例基于前面提到的某些条件运行时,测试用例可以在所需的浏览器上运行。如何使用C# mstest实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2020-10-16 23:24:06

这里的问题是,您在TestInitialize步骤中设置了WebDriver,因此同一类中的任何测试都将使用相同的驱动程序,在本例中为Chrome。

一种方法是对FireFox和Chrome有单独的测试类。

Chrome测试:

代码语言:javascript
运行
复制
public class ChromeTests
{
  [TestInitialize]
  public void initilize()
  {
    Webd = Helper.GetWebDriverC(Chrome); 
  }

  [TestMethod]
  public void 1()
  {
  }
}

FireFox测试

代码语言:javascript
运行
复制
public class FireFoxTests
{
  [TestInitialize]
  public void initilize()
  {
    Webd = Helper.GetWebDriverFF(Chrome); 
  }

  [TestMethod]
  public void 1()
  {
  }
}

替代解决方案包括:

  • 在你的测试类中有两个WebDrivers,一个用于Chrome,另一个用于FireFox,然后你可以在测试中决定你想要使用哪个驱动程序。

  • 在每个测试WebDriver

中创建一个新的实例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64391452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档