问题标签 [selenium-grid2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4012 浏览

selenium-grid2 - 无法初始化类 org.openqa.selenium.os.Kernel32

我是 Selenium 网格的新手。我的集线器和节点正在运行。我尝试了一个测试以在节点中自动化。但我收到错误“无法初始化类 org.openqa.selenium.os.Kernel32”。我在任何地方都找不到解决方案。请帮忙

我的代码是:

0 投票
1 回答
2033 浏览

java - 网格:如何使集线器密码保护

我打算在互联网上部署我的集线器。我只希望特定节点连接到我的集线器(限制未知节点连接到我的集线器)。目前我正在防火墙级别进行此操作。网格级别是否有任何功能可以制作集线器受密码保护,即)当节点连接到集线器时,它们需要输入密码才能连接到集线器或任何其他我们可以阻止未知节点连接到集线器的机制

我浏览了硒网格文档找不到一个

任何帮助是极大的赞赏

0 投票
2 回答
2091 浏览

javascript - 带有 tomcat 的 Selenium webdriver

我有一个 java web 应用程序,我在其中集成了一些 selenium 代码,这些代码基本上完成以下工作:我有一个带有用户名和密码的登录页面,所以一旦我填写详细信息并单击登录按钮,它就会调用 selenium代码(通过 servlet 的 java 方法),它打开另一个选项卡并在其登录页面上填写 URL 和相同的详细信息。这适用于一个系统。但我必须在 tomcat 中部署 .war 文件,这样所有用户都应该以相同的方式工作,但是当我从远程系统访问 URL 并登录时,它会打开浏览器我的 Apache 正在运行的服务器。

所以我的问题是我怎样才能做到这一点?如果任何用户访问我的 URL 并登录,它应该在他的系统而不是服务器上打开另一个选项卡。

我尝试使用 grid2,在服务器上创建集线器并在远程系统上创建节点,但是当我运行我的应用程序时,它仍然在服务器中打开浏览器。我不知道我怎么能做到这一点。

我发现有一个链接在 chrome 中使用 java 脚本和 node.js

[ http://aboutcode.net/2013/12/02/automating-chrome-on-windows-with-javascript-using-selenium-webdriverjs.html][1]

我如何在 java 中执行 selenium java 脚本代码。

任何帮助将不胜感激,谢谢。

0 投票
1 回答
1637 浏览

java - Selenium Grid 测试分布在多个节点上

我已经使用一个集线器(在高规格的戴尔 7910 服务器、Windows 上)和 8 个节点(在 VM 上的所有节点都在 Windows 上)设置了 Selenium Grid 2,并且我的测试框架在 cucumber-jvm 上使用 Junit。我使用 Jenkins 进行测试并使用 maven 构建项目。

这是示例:

我在 Jenkins 中有 20 个独立的 Maven 项目作业(Maven+Project+Plugin),前 10 个作业被添加到多项目作业 A(Multijob+Plugin),另外 10 个作业被添加到多项目作业 B。

当我运行 Job A 时,构建成功编译并且测试被路由到集线器,然后在我的观察中我看到测试是连续执行的(如果我是正确的?)

当我看到集线器控制台时,集线器检测到所有 8 个节点都可用,但它只创建 2 个会话,其中第一个测试传递给节点 1,第二个测试传递给节点 2,其余节点 (3-8) 保持空闲直到前两个测试完成或任何测试失败,然后集线器创建到第三个节点的新会话,并在 Node3 上执行第 3 个测试,依此类推......这个过程一直持续到它在此之后在节点 8 上执行第 8 个测试过程完成集线器在可用的节点上执行 9 测试,这在大多数情况下很明显是 Node1。

根据我的要求,我希望集线器创建 8 个会话并一次将请求传递给所有 8 个节点,以便我的前 8 个测试一旦完成就应该在 8 个不同的机器上执行,然后是下一个可用节点来执行第 9 个测试和等等....而且我所有的测试都是特定于浏览器的,它们应该只在 IE 中执行。

集线器和节点配置:

中心:

cd c:\selenium-server java -jar selenium-server-standalone-2.45.0.jar -role hub -timeout 600 -browserTimeout 600 http://xx:xx:xx:xx/grid/register -port 4444

节点 1:

cd c:\硒服务器

java -jar selenium-server-standalone-2.45.0.jar -trustAllSSLCertificates -browser browserName="internet explorer",version=11,platform=WINDOWS,maxInstances=1 -Dwebdriver.ie.driver=c:\IEDriver\InternetExplorerDriver。 exe -role node -hub http://pc-582v762:4444/grid/register -port 5555 -maxSession 1

节点 2,节点 3,节点 4 ......节点 8 和相同的节点命令到其余节点

注意:我已将角色替换为“webDriver”,结果仍然相同,所有虚拟环境都是 Win7 和 Win8 组合

希望我对我的问题很清楚。对不起,大量信息,我只想详细说明。

0 投票
4 回答
2474 浏览

java - TestNG,Selenium 如何在多个类之间共享对象

我正在使用 Selenium + TestNG 执行我的测试用例。我的测试用例分布在多个类中。我想在每个班级都使用相同的 webDriver 副本。(我不想每次都登录然后做其他操作,所以每个类都调用单独的浏览器的选项消失了)。为了解决这个问题,现在我正在使用静态 webdriver 对象的继承。但是在并行模式下使用 selenium 网格时,它不起作用,因为它使用相同的对象。您能否告诉我一种方法,我可以与多个类共享对象或在每个“测试”上创建不同的静态实例(就像我为每个测试运行单独的 Java 程序)。

0 投票
1 回答
92 浏览

java - 多个 Selenium Grid 2 测试:如何在 Firefox 中运行隐藏窗口浏览器

我想用 50 个 Firefox 独立浏览器(或更多)的并行实例运行 Selenium Grid 2 测试。但是如果所有这些浏览器窗口都打开,它需要大量的机器内存。出于这个原因,我想使用隐藏的 Firefox 窗口运行测试。如何在后台使用 Firefox 窗口运行此测试。我试过:

但它没有用。谁能帮我?

0 投票
1 回答
1278 浏览

java - 如果我尝试使我的 WebDriver 线程安全,则远程 WebDriver 不会被初始化

我正在尝试使我的 WebDriver 线程安全,但是当我运行测试时,我得到了 nullPointerException。然后我检查了我的远程 WebDriver 是否被初始化,但它没有,并且不确定哪里出了问题。我正在使用在线帮助来使我的 WebDriver 线程安全,因为我不知道该怎么做。

这是我的代码。

异常跟踪

0 投票
1 回答
1027 浏览

selenium - Jenkins selenium 网格集线器拒绝来自外部 IP 的传入 selenium 节点连接

我有一个使用 Selenium 插件在 Jenkins 上运行的 Selenium Grid 集线器。我在同一台机器上运行了一个 Selenium 网格节点,它已成功连接到集线器。从外部机器我似乎无法通过 Jenkins ping 集线器运行的 4444 端口。如果 Hub 通过命令行单独启动,我可以 ping 端口。我的两台机器上都禁用了防火墙,所以这不是网络问题。

16:34:58.122 INFO - Launching a Selenium Grid node 16:34:59.982 WARN - error getting the parameters from the hub. The node may end up with wrong timeouts.Connect to <IP>:4444 [<IP>] failed: Connection refused: connect 16:35:00.029 INFO - Java: Oracle Corporation 25.51-b03 16:35:00.029 INFO - OS: Windows 8.1 6.3 amd64 16:35:00.044 INFO - v2.46.0, with Core v2.46.0. Built from revision 87c69e2 16:35:00.107 INFO - Driver class not found: com.opera.core.systems.OperaDriver 16:35:00.107 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered 16:35:00.154 INFO - Version Jetty/5.1.x 16:35:00.154 INFO - Started HttpContext[/selenium-server,/selenium-server] 16:35:00.154 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@76a4d6c 16:35:00.154 INFO - Started HttpContext[/wd,/wd] 16:35:00.154 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver] 16:35:00.154 INFO - Started HttpContext[/,/] 16:35:00.154 INFO - Started SocketListener on 0.0.0.0:5555 16:35:00.154 INFO - Started org.openqa.jetty.jetty.Server@1f7030a6 16:35:00.154 INFO - Selenium Grid node is up and ready to register to the hub 16:35:00.185 INFO - Starting auto registration thread. Will try to register every 5000 ms. 16:35:00.200 INFO - Registering the node to the hub: http://<IP>/grid/register 16:35:01.232 INFO - Couldn't register this node: Error sending the registration request: Connect to <IP>:4444 [IP] failed: Connection refused: connect 16:35:07.232 INFO - Couldn't register this node: The hub is down or not responding: Connect to <IP>:4444 [IP] failed: Connection refused: connect

任何帮助表示赞赏。

0 投票
1 回答
3658 浏览

selenium - Selenium Grid 与不同主机上的 Docker 容器

我喜欢在 AWS 上使用官方 Docker 镜像设置 Selenium Grid,可以在这里找到https://github.com/SeleniumHQ/docker-selenium

集线器和节点应该驻留在不同的机器/docker 主机上。

我使用了一个大使容器,如下所述:https ://docs.docker.com/articles/ambassador_pattern_linking/

(集线器)-->(硒大使)--网络-->(硒大使)-->(节点)

我创建了两个 EC2 实例并执行了以下命令:

在集线器机器上:

在节点机器上:

运行最后一条命令后,我在节点机器上收到以下错误消息:

每台 EC2 机器上的安全组允许端口 22 和 4444。

我希望,任何人都可以帮助我或给我一个线索?提前致谢。

0 投票
2 回答
194 浏览

gruntjs - 带有硒网格的咕噜声

有人可以用硒网格制作咕噜声吗?我可以通过传递角色来设置网格:我的 gruntfile 中 start-selenium-server 任务的 serverOptions 下的 hub 但很快最终得到 -

错误:等待 selenium 启动超时。检查 selenium 的实例是否已经在运行。警告:任务“start-selenium-server:config”失败。使用 --force 继续。

我正在用量角器使用咕噜声。