Selenium 命令行arg到MSTest

Selenium 命令行arg到MSTest,selenium,mstest,Selenium,Mstest,让我解释一下我想要实现的目标 我有一系列MSTest单元测试(VS2010),它们使用Selenium进行自动浏览器测试。Selenium允许我设置一个计算机网格,这些计算机具有不同的浏览器和版本,并且可以自己注册。然后,我可以在任何已注册的浏览器/版本配对上执行测试 我的所有测试类都继承自一个基类,在该基类中,我为我的测试设置了一个本地和浏览器版本对 在基类中的MyTestInitialize方法中,我有以下内容 //设置区域设置 //Thread.CurrentThread.CurrentU

让我解释一下我想要实现的目标

我有一系列MSTest单元测试(VS2010),它们使用Selenium进行自动浏览器测试。Selenium允许我设置一个计算机网格,这些计算机具有不同的浏览器和版本,并且可以自己注册。然后,我可以在任何已注册的浏览器/版本配对上执行测试

我的所有测试类都继承自一个基类,在该基类中,我为我的测试设置了一个本地和浏览器版本对

在基类中的MyTestInitialize方法中,我有以下内容

//设置区域设置

//Thread.CurrentThread.CurrentUICulture=CultureInfo.GetCultureInfo(“fr CA”); Thread.CurrentThread.CurrentUICulture=CultureInfo.GetCultureInfo(“en”)

//设置Selenium驱动程序

DesiredCapabilities InternetExplorerBrowser = DesiredCapabilities.InternetExplorer();
InternetExplorerBrowser.SetCapability("browserName", "internet explorer");
InternetExplorerBrowser.SetCapability("version", "11");
driver = new RemoteWebDriver(new Uri("http://192.168.0.1:4444/wd/hub"), InternetExplorerBrowser);
Firefox和Safari也是如此

我可以从VS命令行工具运行所有测试,但如果我想指定不同的浏览器/版本配对,我需要编辑上面的代码,重新编译,然后执行以获得所需的结果

我想做的是能够执行不同的浏览器/版本配对,而无需重新编译。我的第一个想法是尝试将命令行arg传递给MSTest,然后从类中访问这些arg,并使用它们设置所需的浏览器/版本

我在网上做了一些搜索,似乎不支持将自定义命令行参数传递到MSTest

关于如何实现目标的任何想法

任何想法都很感激。
肖恩

我会用特质来解决这个问题。只需在测试中添加不同的浏览器作为TestCategory,然后使用

/category:[filter]

运行测试时的选项。您可以使用不同的bat文件来执行IE、FF和Chrome测试。

感谢您的回复。我当然可以使用[TestCategory(“IE11”)、TestCategory(“IE10”)、TestCategory(“IE9”)、TestCategory(“Chrome”)等将它们指定为一个类别,然后使用MSTest从命令行运行。我仍然需要在基类的TestInitialize()中设置正确的Selenium驱动程序方法,我不清楚该怎么做。对不起,C#不是我的强项。
/category:[filter]