问题标签 [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 投票
1 回答
108 浏览

c# - 如何在 selenium 网格上针对 Internet Explorer 进行测试?

我通过将集线器和节点作为 Windows 服务运行来设置硒网格。我对 Chrome 或 FireFox 没有任何问题,但我使用的是 IE,据我所知,IEDriverServer 不支持作为 Windows 服务或在后台运行,并且就测试而言是不一致的。

那么人们/公司通常如何在硒网格上针对 IE 进行自动回归测试呢?

0 投票
3 回答
9280 浏览

java - 使用 Selenium WebDriver、Selenium Grid 和 testNG 运行并行测试

这是我在 SO 中的第一篇文章;我是一名新手 Selenium 用户,具有 Java 初学者技能。

向您介绍我们的工作背景;我们正在使用页面对象模型。我们所有的测试都使用单个DataProvider方法,该方法根据调用/使用 DataProvider 的测试用例名称从“.xlsx”文件中获取其数据。

但是,我们不确定我们是否已经按照应有的方式声明了ThreadLocal 。而且,我们不确定我们的getDriver()方法的声明是否正确。另一个问题是我们不确定是否应该在我们的setuptearDown方法中使用“@BeforeTest”/“@AfterTest”“@BeforeClass”/“@AfterClass” 。

遇到以下问题:

  1. 一项测试失败,随后的测试也失败。
  2. 有时获取的测试数据不准确(抛出的列数据多于预期)。


这是我们的 CONFIGTESTBASE 类:


这是我们拥有的示例测试类;扩展 CONFIGTESTBASE 类...每个测试一个类:


这是我们的套件文件;'banner' 参数用于在“.xlsx”文件中查找特定工作表:


关于我们如何使它工作的任何建议?

0 投票
2 回答
1349 浏览

selenium-grid - SeleniumGrid:我应该在单台机器上运行多少个实例

我有 Windows 7、2 个 64 位处理器、8 GB Ram(我有六个这样的节点)

我打算在一台机器上打开 15-20 个浏览器。有人可以告诉我应该在一个节点中打开多少个浏览器实例吗?除了 OS 和 selenium 网格节点之外,没有其他任何东西在运行。

0 投票
3 回答
1082 浏览

node.js - Selenium Grid maxSession 被忽略

我似乎无法让 Selenium Grid2 遵守 maxSession 参数,无论我将其设置为命令行选项还是 JSON 配置,无论我将其设置在集线器还是节点或两者上。网格完全忽略它。在我为它打开错误票之前,我想确保我做对了。

这是一个使用selenium-server-standalone-jarselenium-webdriver NPM 模块的 node.js 应用程序,两者都是最新的。该过程大致分解如下:

1) 启动本地运行的 selenium 网格集线器:

该集线器配置文件如下所示:

2)启动本地运行的selenium网格节点:

节点配置如下所示:

所以此时我有一个以 maxSession=1 运行的集线器和一个以 maxSession=1 和 maxInstances=1 运行的节点(对于 Firefox)。这不是应用程序长期运行的方式,我只是想让 Selenium Grid 证明它可以限制会话。

3) 启动 5 个子进程,每个子进程都有自己的 webdriver 使用集线器服务器

每个都继续运行其浏览器操作,然后在终止之前关闭 webdriver。

我希望看到的是:网格应该限制这些子进程可以打开的浏览器数量。这是否会导致子进程排队等候。

我实际看到的是:打开了一系列 Firefox 窗口(在杀死它之前我让它爬升到 ~30)并开始并行运行它们的步骤,完全忽略了 maxSession 和 maxInstance 配置。

更新 2016-04-14

我已经在 SeleniumServer 类中隔离了这个问题。我提供给它的构造函数的“args”选项似乎被忽略了。这解释了我在测试运行时无法访问 localhost:4444/grid/console;独立服务器 jar 没有以“集线器”角色运行。

我已经验证,如果我使用 child_process.exec 直接运行 jar(使用它的角色和 JSON 配置),那么一切都或多或少地开始正常工作,但是这种方法存在一个问题,即集线器就绪和黄瓜之间存在竞争条件测试尝试将 webdriver 连接到它。理想情况下,我想像我计划的那样使用 SeleniumServer。任何关于我可能做错了什么,或者我如何让它表现的建议,将不胜感激。

0 投票
1 回答
66 浏览

c# - Seleneium WebDriver - 获得不同的异常

我正在使用网格模式运行硒测试。每当我无法在页面中找到元素时,我都会收到以下异常

“对 URL http://localhost:4444/wd/hub/session/5fe58b67-491c-4b72-9a3a-a6dc790cc29d/element的远程 WebDriver 服务器的 HTTP 请求 在 60 秒后超时。”

我期待一个类似于NoSuch Element found的异常。但我正在超时。对此的任何指示都会很有帮助

代码如下

非常感谢

0 投票
0 回答
344 浏览

c# - 带有 Selenium Grid 2 的 PhantomJS - 如何禁用 phantomjsdriver.log?

我一直试图在文档中的某个地方找到它,但似乎找不到任何相关的东西 - 任何人都可以分享如何在文件中禁用 Selenium Grid 节点创建的日志phantomjsdriver.log,(或者如果没有,只写在给定级别,例如 ERROR 或 WARN)?

我最近遇到了一个问题,WebDriver 可以通过 Selenium Grid 远程使用 PhantomJS 运行一段时间,但一段时间后似乎有一个错误导致在尝试与驱动程序实例交互时抛出 StackOverflowException - 我想我已经追踪到网格节点运行的 phantomjsdriver.log 文件的大小。当日志文件大小约为 600MB 时会发生这种情况。显然,这会导致我的节点在一段时间后变得无法使用。

现在,我正在通过以下方式创建我的 PhantomJS 远程 WebDriver:

我为我的网格使用 selenium-server-standalone-2.52.0,它注册了 2 个节点,每个节点公开 8 个 PhantomJS 驱动程序: java -jar selenium-server-standalone-2.52.0.jar -role node -hub http://MySeleniumGridHubServer:4444/grid/register -port 5556 -browser browserName=phantomjs,version=1.9.8.0,platform=ANY,maxInstances=8 -timeout 60 -maxSession 100

如果有某种方法可以在我通过命令行启动节点时禁用 phantomjsdriver.log 文件,那将是理想的!

此外,PhantomJSOptions 和 PhantomJSDriverService 类似乎公开了许多功能,但它们似乎不能一起用于创建驱动程序实例,并且都公开了一组不同的属性!

谢谢

0 投票
1 回答
280 浏览

docker - 是否可以超级扩展 dockerised selenium 网格?

我目前正在开发一个 dockerised selenium 网格来运行大约 800 个功能测试(请参阅我的帖子),我希望我可以在单个网格中使用一个集线器启动多达 800 个节点 [在 BIG aws 实例内]。我的想法是同时运行我所有的测试并在 [比如说] 10 分钟内完成。

据我了解,这是不可能的。

我启动了 20 个节点,我的测试只填充了 10 个。那只是 10 个 firefox 实例。

selenium 服务器或集线器的 docker 映像中是否有内置限制?

我希望扩展 dockerised 服务的易用性将 selenium 网格功能提升到一个全新的水平......

selenium 网格的 dockerised 实现是否“卡”在 10 个节点上?

0 投票
1 回答
191 浏览

selenium - 通过 AWS toolkit for eclipse 在 Amazon EC2 上远程执行 jar 文件

作为持续集成的一部分,我想通过 AWS Eclipse 工具包在 Amazon EC2 实例上运行我的 Selenium 测试用例。
我想做以下事情

  • 启动 2 个 Amazon EC2(Windows 服务器)实例
  • 在一个实例上运行 Selenium 网格集线器,在另一个实例上运行节点
  • 在节点上运行测试用例
  • 终止实例

到目前为止,我已经能够启动实例(我正在使用安装了 java 和不同浏览器的图像)并终止它们。我已将 selenium 服务器 jar 保存在我的实例上的特定位置。我想使用适用于 Eclipse 的 AWS 工具包访问和运行实例上的 jar。

请帮我解决这个问题。如有任何疑问,请告诉我。

0 投票
2 回答
90 浏览

xml - seleniumgrid2-@parameters 注释错误

我想在两台不同的机器上运行我的代码(到目前为止,我已经将我的本地机器注册为集线器和 2 个节点),所以在运行 testng.xml 文件时我遇到了错误。

运行 testng.xml 文件时出现错误,应用程序出现错误:- 请查看我的 testng.xml 文件和下面给出的代码:-

0 投票
1 回答
2459 浏览

java - 如何在远程机器上使用java机器人类

嗨,我正在使用 selenium 网格来运行我的测试,一切运行良好。我的应用程序正在使用地图(如谷歌地图)并在地图上执行一些操作,我使用了 java 机器人类。问题是当我在本地机器上运行我的测试用例时,包括机器人在内的一切都很好,但是当我在不同节点上的网格上运行相同的测试用例时,一切正常,除了机器人类在本地机器上执行操作而不是在节点机器上,即我可以清楚地看到鼠标在我的集线器上上下移动,但在节点上看不到,请帮助做什么