让我解释一下我想要达到的目标。
我有一系列使用Selenium进行自动浏览器测试的MSTest单元测试(VS 2010)。Selenium允许我建立一个具有不同浏览器和版本注册自己的计算机网格。然后,我可以在任何注册的浏览器/版本配对上执行我的测试。
我的所有测试类都是从基类继承的,在基类中,我为测试设置了、version对
在基类中的MyTestInitialize方法中,我有以下内容
//设置区域设置 //Thread.CurrentThread.CurrentUic= CultureInfo.GetCultureInfo("fr-CA");Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en"); //设置Selenium驱动程序 InternetExplorerBrowser.SetCapability("browserName",InternetExplorerBrowser = DesiredCapabilities.InternetExplorer();DesiredCapabilities "internet explorer");DesiredCapabilities“11”;DesiredCapabilities=新RemoteWebDriver(新Uri(“http://192.168.0.1:4444/wd/hub"”,InternetExplorerBrowser);
/*Uncomment the following lines to use Chrome*/
//DesiredCapabilities ChromeBrowser = DesiredCapabilities.Chrome();
//ChromeBrowser.SetCapability("browserName", "chrome");
//driver = new RemoteWebDriver(new Uri("http://192.168.0.1:4444/wd/hub"), ChromeBrowser);等等,用于Firefox和Safari
我可以从VS命令行工具中运行我的所有测试,但是如果我想指定一个不同的浏览器/版本配对,我需要编辑上面的代码,然后重新编译,然后执行以获得我想要的结果。
我想要做的是能够执行不同的浏览器/版本配对,而不必重新编译。我的第一个想法是尝试将命令行arg传递给MSTest,然后从我的类中访问这些arg并使用它们来设置我想要的浏览器/版本。
我在web上做了一些搜索,似乎不支持将自定义命令行args传递到MSTest。
任何关于我如何实现我的目标的想法。
任何想法都很感激。肖恩
发布于 2014-06-03 04:52:41
我会用特质来解决这个问题。只需在测试中将不同的浏览器添加为TestCategory,然后使用
/category:[filter]选项在运行测试时。您可以使用不同的bat文件来执行IE、FF和Chrome测试。
https://stackoverflow.com/questions/23959019
复制相似问题