如何为Selenium Grid Java Maven设置启动服务器

问题描述 投票:2回答:2

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

有人可以建议我吗?

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

谢谢拉朱

selenium selenium-webdriver selenium-rc selenium-grid
2个回答
7
投票
从Maven运行Selenium Grid可能不是一个好主意;这取决于您要做什么以及如何做。

通常,您将在多个/许多不同的环境中并行运行Selenium测试,这会花费大量资源。从Maven启动进程时,它们在其主线程(作为子线程)中运行,因此其资源仅限于Maven的配置。这取决于您的计算机和配置,但是在一台普通计算机上从Maven启动网格并并行运行一些Selenium测试(集线器和几个节点,每个节点有5个实例)可能会使Maven挂起的记忆。为避免这种情况,您可以调整配置,依次运行测试(不是并行运行,仅一个节点),等等,但是又一次:这取决于您要执行的操作和方式,也许您应该考虑使用其他方式运行硒测试。

尽管如此,如果您只是想尝试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>


0
投票
如何运行具有通过CMD命令在专用硒网格上运行测试用例的Maven项目
© www.soinside.com 2019 - 2024. All rights reserved.