【发布时间】:2018-06-21 21:37:49
【问题描述】:
我在 Windows 10 上使用 selenium C# webdriver chorme 进行了测试。当我一次运行此测试时,它工作正常。我在 Visual Studio 2017 中对 loadtest 使用相同的测试。我正在尝试运行同一测试的多个实例。第一个实例总是得到完美执行,但其余所有实例都无法识别 Web 元素并抛出下面提到的错误。
测试方法 LoadWebTestPOC.WebTestM.LoginWithCredentials 抛出 异常:OpenQA.Selenium.WebDriverException:意外错误。 System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:无法建立连接 因为目标机器在 127.0.0.1:54049 处主动拒绝了它 System.Net.Sockets.Socket.DoConnect(端点 endPointSnapshot, SocketAddress 套接字地址)在 System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败, Socket s4, Socket s6, Socket&socket, IPAddress&地址, ConnectSocketState 状态、IAsyncResult asyncResult、Exception& 异常)---内部异常堆栈跟踪结束---在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& 上下文) 在 System.Net.HttpWebRequest.GetRequestStream() 在
有人可以帮帮我吗?提前致谢。
我在这里看到过类似的问题Selenium web driver fails after the first test run and TestFixtureTearDown happens
这是我如何初始化测试的代码
namespace LoadWebTestPOC
{
[TestClass]
public class WebTestM
{
public string user = "Administrator";
public string password = "*******";
[TestInitialize]
public void SetupTest()
{
Installer.SetUpEnv();
}
[TestCleanup]
public void TeardownTest()
{
Base.QuitDriver();
}
[TestMethod]
public void LoginWithCredentials()
{
LoginModule.NavigateTo();
LoginModule.LoginWithCredentials(user,password);
NUnit.Framework.Assert.AreEqual(user, CoreOperation.GetAttributeValue(LoginModuleLocators.iconLogedUser, "title"));
}
}
}
public static void SetUpEnv()
{
string _driver = CHROME;
public static void SetupLocal(_driver)
{
switch (_driver)
{
case "CHROME":
Base.Driver = Base.StartDriver(AvDriver.Chrome);
Base.ChosenDriverName = "chrome";
break;
case "FIREFOX":
Base.Driver = Base.StartDriver(AvDriver.Firefox);
Base.ChosenDriverName = "firefox";
break;
case "EDGE":
Base.Driver = Base.StartDriver(AvDriver.Edge);
Base.ChosenDriverName = "edge";
break;
case "SAFARI":
Base.Driver = Base.StartDriver(AvDriver.Safari);
Base.ChosenDriverName = "safari";
break;
default:
Base.Driver = Base.StartDriver(AvDriver.Chrome);
Base.ChosenDriverName = "chrome";
break;
}
}
}
public static IWebDriver StartDriver(AvDriver chosenDriver)
{
switch (chosenDriver)
{
case AvDriver.Chrome:
Driver = new ChromeDriver(_driversPath);
break;
case AvDriver.Firefox:
Driver = new FirefoxDriver(FirefoxDriverService.CreateDefaultService(_driversPath));
break;
case AvDriver.Edge:
Driver = new EdgeDriver(_driversPath);
break;
case AvDriver.Safari:
Driver = new SafariDriver();
break;
}
Driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
Driver.Manage().Window.Maximize();
return Driver;
}
【问题讨论】:
标签: c# selenium webdriver load-testing