测试解决方案有两个项目——一个测试项目带有测试方法(它继承自一个基类,该基类详细编写了测试步骤),另一个项目是一个类库项目,其中包含常用的方法和测试。
使用此解决方案来测试数据输入页。
问题
当我使用Selenium Grid并行执行测试时,所有测试都会失败——它会打开Chrome浏览器,然后什么都没有。
测试报告说服务器超时了。
当我按顺序运行测试时,它们都通过了(没有Selenium网格)。
我到目前为止所做的:
1.1. 要启动集线器打开命令窗口(具有管理员访问权限),并在selenium目录中运行以下命令:
java -jar selenium-server-standalone-2.5.0.jar -role hub
1.2.打开命令窗口的另一个实例(具有管理员访问权限),并在selenium目录中运行以下命令:
java -jar selenium-server-standalone-2.5.0.jar -Dwebdriver.chrome.driver=\chromedriver.exe -role wd -hub http://4444/grid/register>
2.在powershell中运行以下测试:
PS>run-gallio test.dll
3.使用chrome驱动程序
DesiredCapabilities capability = DesiredCapabilities.Chrome();
capability.SetCapability(CapabilityType.BrowserName, "chrome");
driver = new RemoteWebDriver(capability);
4.在assemblyinfo中的主测试项目中。cs-已添加以下属性:
[assembly: DegreeOfParallelism(4)]
[assembly: Parallelizable(TestScope.All)]
5.每个类都有可并行化的属性,每个测试方法都有可并行化的属性。
我试过的一些
>
设置浏览器的二进制位置使用DesiredCap
DesiredCapabilities - capabilities.SetCapability("chrome.binary",this.binaryLocation);
(远程Webdriver Chrome抛出“驱动程序可执行文件路径”错误)这对我不起作用。
在调用hub命令时如何为chrome构建远程Webdriver中设置chrome驱动程序(这会打开chrome浏览器,但之后不会打开)
还研究了这个问题:如何使用SeleniumGrid2在一个中心上运行多个浏览器
也尝试了多线程,但这不起作用(使用ChromeDriver而不是远程WebDriver)。
我现在犯了一个错误
Run-Gallio : [failed] Test/AddValue Set Up
OpenQA.Selenium.WebDriverException: Unexpected error. System.Net.WebException: Unable to connect to the remote server -
--> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 4444
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6,Socket& socket, IPAddress address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
问题可能是什么?
我可以在Selenium网格中尝试什么?如蒙指导,不胜感激。
不能从硒或C#切换到其他任何东西。谢谢你。
编辑:几天后,使用Selenium-server-2.41.0,现在得到以下超时错误消息。
OpenQA.Selenium.WebDriverException: The HTTP request to the remote WebDriver server for URL http://127.0.0.1:4444/wd/hub/session/fdb51889-b9b7-4e97-beea-44dcf9637b0c/element/0/value timed out after 60 seconds. ---> System.Net.WebException: The operation has timed out
为chrome DesiredCapabilities=DesiredCapabilities调用remotedriver时增加了超时范围。铬();驱动程序=新的RemoteWebDriver(功能);驾驶员管理()。超时()。隐式等待(TimeSpan.FromSeconds(120));
这不起作用。有什么建议吗?
编辑答案:设法解决了这个问题——页面上有错误,由于我这边的网络问题——页面没有完全加载,脚本会搜索元素。修正了这个-谢谢丹尼尔和法伊兹。
应该是:
[assembly: DegreeOfParallelism(2)]
[assembly:Parallelizable(TestScope.All)]
我在管理最大会话和最大实例时遇到一些问题。因此,在运行节点时,请按照如下所示进行标记。
java -Dwebdriver.chrome.driver="C:\ChromeDriver\chromedriver.exe" -jar selenium-server-standalone-2.42.2.jar -role node -hub http://localhost:4444/grid/register -port 5555 -browser "browserName=chrome,maxSession=1,maxInstances=1,platform=WINDOWS,ensureCleanSession=true"
我打算使用Spring WebFlux为Spring控制器编写一个单元测试。以下是控制器: 这是底层服务接口: 我不明白怎么了。名为的模板位于下。 谢谢大家的支持!
我正在尝试使用2个xml文件与Maven并行运行我的测试,但似乎不起作用。我已经尝试了Maven留档中的步骤/参数:http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html 以下是我的pom.xml文件: 这是功能1.xml文件: 我应该做哪些参数/更改才能使其生效? 谢谢你
我试图在JUnit5测试环境中使用JUnit4。事实上,我已经升级了我的pom来使用更高版本的MOckito和POwerMock。到目前为止,所有测试都基于JUnit4。我将平台和vintage依赖项添加到我的pom.xml中。 更早的pom。xml依赖关系
问题内容: 我有一个包含多个模块的项目。当所有测试通过时,Maven测试将全部运行。 当第一个模块中的测试失败时,maven将不会继续进行下一个项目。我在Surefire设置中将testFailureIgnore设置为true,但这无济于事。 我如何使Maven运行所有测试? 问题答案: 我刚刚找到了“ -fae”参数,该参数使Maven运行所有测试并且不会因失败而停止。
我正在使用C#Selenium进行自动测试,在最新的chromedriver更新89.0.4389.2300之后,Google chrome立即启动并崩溃。最奇怪的是,当我在本地运行它时,一切正常,但我也在使用Azure管道在服务器上运行测试。服务器给了我: OpenQA。硒。WebDriverException:未知错误:Chrome无法启动:崩溃。(未知错误:DevToolsActivePor
问题内容: 有人可以帮我这个忙。我正在使用Jersey休息测试框架版本2.21(在Grizzly容器上)编写Rest资源的单元测试。 当我调试测试类时,看到myManager的模拟对象。但是,当调试进入“ MyResouce类”时,myManager对象将变为null并得到NullPointer异常。 尝试过其他人提供的解决方案,但是没有运气。请有人帮我。我将近三天就遇到这个问题。:( 我的资源类