gpt4 book ai didi

selenium - 如何启动 Selenium 网格 Java Maven 设置的服务器

转载 作者:行者123 更新时间:2023-12-03 04:58:09 27 4
gpt4 key购买 nike

我使用 Maven Java 设置 Selenium 框架。所以所有依赖项都存储在 POM.xml 中在这里我有疑问.. 如何启动服务器 java -jar selenium-server-standalone-2.18.0.jar -role hub .. 我应该再次将此 jar 放在某个文件夹中吗?我应该从该路径开始吗?或者我应该转到 Maven 依赖项文件夹 (.m2\Repositories) 吗?

有人可以推荐我吗?

如果问题不清楚,请回复。我会以不同的方式解释。

谢谢拉朱

最佳答案

从 Maven 运行 Selenium Grid 可能不是一个好主意;这取决于你要做什么以及如何做。

通常,您将针对多个/许多不同的环境并行运行 Selenium 测试,这会产生相当大的资源成本。当您从 Maven 启动进程时,它们在其主线程中运行(作为子线程),因此它们的资源仅限于 Maven 的配置。这取决于您的机器和配置,但是从 Maven 启动网格并在一台普通机器上并行运行一些 Selenium 测试(集线器和几个节点,每个节点有 5 个实例)可能会使 Maven 因缺乏而挂起的内存。为了避免这种情况,您可以调整配置,按顺序运行测试(不是并行,仅一个节点)等,但同样:这取决于您想要做什么以及如何做,也许您应该考虑其他运行测试的方法 Selenium 测试。

尽管如此,如果您只是想尝试 Selenium Grid 的工作原理,或者只是运行一些特定的测试,您可以使用 maven-antrun-plugin 并启动您的集线器和节点像这样:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>pre-integration-test</phase> <!-- your Selenium tests should run in integration phase -->
<configuration>
<target>
<java classname="org.openqa.grid.selenium.GridLauncher"
classpathref="maven.test.classpath"
failonerror="true"
fork="false">
<arg line="-role hub"/>
</java>
<java classname="org.openqa.grid.selenium.GridLauncher"
classpathref="maven.test.classpath"
failonerror="true"
fork="false">
<arg line="-role node
-browser 'browserName=firefox,version=19.0,maxInstances=3'
-browser 'browserName=internet explorer 64bits,version=9.0,maxInstances=2'
-hub http://localhost:4444/grid/register
-port 5555
-timeout 40000"/>
</java>
<java classname="org.openqa.grid.selenium.GridLauncher"
classpathref="maven.test.classpath"
failonerror="true"
fork="false">
<arg line="-role node
-browser 'browserName=chrome,version=24.0.1312.56,maxInstances=3'
-browser 'browserName=internet explorer 64bits,version=9.0,maxInstances=2'
-hub http://localhost:4444/grid/register
-port 5556
-timeout 40000"/>
</java>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>

您的 pom.xml 中应该有此依赖项:

     <dependency>
<groupId>org.seleniumhq.selenium.server</groupId>
<artifactId>selenium-server-standalone</artifactId>
<version>2.30.0</version>
<scope>test</scope>
</dependency>

关于selenium - 如何启动 Selenium 网格 Java Maven 设置的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15832528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com