Yan*_*iav 2 c# selenium selenium-grid
我找到了在多个浏览器上一个接一个地运行测试的方法,但是我找不到一种使用 selenium grid 的方法来在多个浏览器上并行运行我的测试(使用 C#)。这就是我目前使用的:
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.IE;
using System.Threading;
namespace SeleniumTests
{
[TestFixture(typeof(FirefoxDriver))]
[TestFixture(typeof(InternetExplorerDriver))]
public class TestWithMultipleBrowsers<TWebDriver> where TWebDriver : IWebDriver, new()
{
private IWebDriver driver;
[SetUp]
public void CreateDriver () {
this.driver = new TWebDriver();
}
[Test]
public void GoogleTest() {
driver.Navigate().GoToUrl("http://www.google.com/");
IWebElement query = driver.FindElement(By.Name("q"));
query.SendKeys("Bread" + Keys.Enter);
Thread.Sleep(2000);
Assert.AreEqual("bread - Google Search", driver.Title);
driver.Quit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
在 Visual Studio 的测试资源管理器中,应该有一个按钮,该按钮具有三行,线的左侧带有圆圈,右侧带有箭头(如果将鼠标悬停在它上面,则会显示“并行运行测试”)。确保选中此项(选中时,其背景将与测试资源管理器面板的颜色不同)。
对于您想要并行的每个测试,添加属性Parallelizable。所以你的方法上面看起来像的东西[Test]会变成[Test, Parallelizable].
额外 - 这不适用于您,但适用于少数人,因此我会添加它。如果您的驱动程序是一个静态实例(如单例),您需要对其进行注释,[ThreadStatic]否则将在同一个驱动程序上调用不同的测试。
| 归档时间: |
|
| 查看次数: |
5579 次 |
| 最近记录: |