问题标签 [selenoid]

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 投票
0 回答
134 浏览

robotframework - 运行 Selenoid Grid 并在浏览器打开时定期获得 ERR_NETWORK_CHANGED

我们在一个三节点集群(也运行 Kubernetes)上运行 Selenoid Grid。每隔一段时间,当我们在网格上的 Chrome 浏览器中运行一些机器人框架测试相同的测试时,当我们打开浏览器页面并且测试失败时,我们会看到 ERR_NETWORK_CHANGED。当不在 Grid 中运行时,我们永远不会看到这一点。

捕获 tcpdump 并看到(RST,ACK)来自 docker 容器,用于 chrome 浏览器。将不胜感激有关如何调试此问题的任何建议。

是的,我们确实计划将 Grid 移动到它自己的节点(因为 Kubernetes 和 Selenoid 之间可能存在冲突,因为我们没有运行 Kubernetes 版本)。

0 投票
1 回答
1346 浏览

amazon-web-services - AWS ECS 上的 Aerokube Selenoid

有没有人能够在 aws ecs 上配置 selenoid ?我能够运行 selenoid-ui 容器,但 selenoid 集线器图像不断抛出有关 browsers.json 的错误,但是我无法找到添加 browsers.json 文件的方法,因为它在执行 CMD 命令之前停止

0 投票
1 回答
1010 浏览

selenoid - selenoid 有像 zalenium 这样的仪表板吗?哪个更推荐使用?

我是硒的新手。在我的 linux 系统上,selenoid 和 selenoid-ui 服务已启动并正在运行。我可以在 selenoid 上运行测试用例,也可以在 http://:4444/video/ 和 http://:4444/logs/ 上查看视频和日志。我们是否有一个仪表板,我们将在其中执行、通过、失败、记录等总数的测试用例。根据通过的链接,大多数人都支持在 zalenium 上使用 selenoid。为什么?它提供的网址,例如 http://:4444/video/ 和 http://:4444/logs/ 也设计得不好。



0 投票
2 回答
1020 浏览

selenoid - 硒鼓启动失败

我是 selenoid 的新手尝试使用这个命令启动 selenoid:./cm selenoid start --vnc & 得到这个错误:

root@ubuntu-s-1vcpu-1gb-fra1-01:~# ./cm selenoid start --vnc 使用 Docker - 您的 Docker API 版本是 1.38 Selenoid 已下载 Selenoid 已配置 正在启动 Selenoid... x 启动失败:无法启动容器:来自守护程序的错误响应:创建挂载源路径'/root/.aerokube/selenoid/video'时出错:mkdir /root/.aerokube/selenoid/video:权限被拒绝

0 投票
1 回答
86 浏览

ruby-on-rails - [selenoid][capybara][rails] 我们可以在 Rack App 中使用 selenoid

在 Rails 中,当我们将 capybara 与 selenium 一起使用时,默认情况下它们会为我们的 rails 应用程序运行机架服务器,我们可以在不运行实际应用程序的情况下对其进行测试。

那么让我解释一下它的含义:

因此,当我们为 rails 配置 capybara rspec 和 selenium 时,不需要单独运行您的 rails 服务器,当我们运行规范以及访问规范中应用程序的任何 URL 时,它就可以正常工作。它发生是因为它在后台创建了一个机架服务器。

现在我使用 Selenoid 而不是 selenium,但机架服务器无法正常工作。那么 selenoid 是否仅适用于远程 url 而它不创建任何机架应用程序?

让我知道是否有任何其他信息。是必须的。

谢谢!

0 投票
1 回答
330 浏览

selenium - 为 geckodriver 使用自定义 firefox 浏览器版本功能

我自己为 firefox 构建 selenoid docker 映像,browsers.json并按如下方式配置它们:

发送version=beta功能会导致 webdriver 抛出

selenium.WebDriverException: Requested environment is not available

在我发现的日志中

由于完全相同的东西适用于 chrome,如果我设置并且不设置功能,它也适用"default": "beta"browsers.jsonversion认为这是因为 geckodrivers 将功能中的版本与实际浏览器版本相匹配。(这里假设)。

我有几个想法如何解决这个问题,但不知道如何在技术上实现这些:

  • 防止 Selenoid 将version功能传递给 selenium 驱动程序(本例中为 geckodriver)
  • 防止 geckodriver 检查version功能和浏览器版本
  • 向 selenoid 添加另一个标志以从中获取 docker 图像,browsers.jsonbrowser_version不是version
  • 添加另一个假浏览器browsers.json并将测试版设置为默认值,然后只需设置browserName功能。这里的问题是,selenoid 检查浏览器名称,如果不匹配chromefirefox或者operaselenoid 容器无法启动。例如:

browserName=firefox-beta

任何帮助或进一步的信息将不胜感激

0 投票
1 回答
469 浏览

android - 如何使用 Selenoid Docker 映像将标志传递给移动 Chrome

我正在尝试在没有“欢迎使用 Chrome”屏幕的情况下启动 Chrome,并且似乎无法找出使用 Selenoid 和提供的 Android Docker 映像的正确方法。

我使用automation_android.sh 创建容器映像并遵循所有提示,仅在询问版本号和询问我是否要安装Chrome 时才偏离默认设置。

Chrome 会加载,但无论我在测试中放了什么,我似乎都无法让它绕过欢迎屏幕。

目前我的配置如下所示:

我尝试将 chromedriverArgs 更改为“goog:chromeOptions”和 chromeOptions。我也尝试在“selenoid:options”中移动所有三种组合。

我怀疑我只是做错了什么,但如果有人能提供任何帮助,我将不胜感激。

0 投票
0 回答
955 浏览

java - 如何使用带有 Java 的 chrome 选项在 Selenoid 中下载文件

我正在尝试为在 selenoid 图像上启动的 chrome 浏览器下载文件。使用我如下配置的 chromeoptions,浏览器会在图像上打开下载文件对话框,我的测试用例失败。我正在尝试找到一种在没有下载对话框的情况下以 selenoid 图像下载文件的方法。

我所有的 chromeoptions 在基于 Windows 的机器上都可以正常工作。

下面是我的 chromeoptions

预期 - 文件应下载到指定路径。发生了什么 - 脚本停止并出现文件下载对话框

0 投票
1 回答
788 浏览

nightwatch.js - 在测试运行期间随机抛出 Socket hang up 和 Session timeout 异常的测试

我正在使用 NightwatchJS v 1.1.11 和 Selenoid 运行 UI 测试

selenoid 托管在 t2.micro EC2 实例上(评估阶段因此使用 t2.micro)。

测试在测试过程中随机失败,主要原因有两个:

1)socket挂起异常

13:10:05 测试/readOnlyProduction/palette.js 发布http://xx.xx.xx.xx:4444 /wd/hub/session/87f6eb1b0b3369ba93bb9ce8c548fa89/element/0.46204216593315195-1/点击 - ECONNRESET

13:10:05 测试/readOnlyProduction/palette.js 错误:套接字挂断

13:10:05 测试/readOnlyProduction/palette.js at createHangUpError (_http_client.js:342:15)

13:10:05 在 Socket.socketCloseListener 测试/readOnlyProduction/palette.js (_http_client.js:377:23)

13:10:05 测试/readOnlyProduction/palette.js 运行 .clickElement() 协议操作时出错:发生未知错误。

2) 会话超时或未找到

13:11:06 测试/readOnlyProduction/palette.js 运行 .locateMultipleElements() 协议操作时出错:会话超时或未找到

测试是由 Jenkins 在 EC2 中针对 selenoid 运行触发的,但是当 selenoid 托管在本地并且在本地触发测试时会观察到类似的异常。

最重要的是,当测试并行运行时会发生这种情况,而相同的测试在一次运行一个时可以正常工作。

到目前为止尝试跟随,但到目前为止没有运气。

1) 在 nightwatch.json 中添加这个

“request_timeout_options”:{“超时”:100000,“retry_attempts”:3}

2)我在单个测试套件中有很多测试用例,所以分成更小的测试。

0 投票
0 回答
3264 浏览

selenoid - 超出上下文期限

测试运行一段时间后,Selenoid 抛出上下文截止日期。最初测试运行良好,但在 15-20 分钟后,它开始抛出异常。

Selenoid 和 Selenoid-ui 使用以下命令运行:

./selenoid -conf /home/ec2-user/browsers.json -limit 10 -retry-count 3 -session-attempt-timeout 4m -log-output-dir /home/ec2-user/selenoid-logs -timeout 4m - video-recorder-image "selenoid/video-recorder:latest-release"

./selenoid-ui

来自控制台的错误:

selenoid-ui

2019/08/05 18:18:30 [错误] [无法获取状态:超出上下文截止日期]
2019/08/05 18:19:07 删除了客户端。0个注册客户

硒化物

2019/08/05 18:04:19 [4093] [CLIENT_DISCONNECTED] [未知] [xx.xx.xx.xx] [错误:上下文已取消]
2019/08/05 18:06:44 [4102] [CLIENT_DISCONNECTED] [未知] [xx.xx.xx.xx] [错误:上下文已取消]
2019/08/05 18:14:24 [4107] [SESSION_DELETED] [4c4d9e47a8853ba972476cb70ffde4a3]
2019/08/05 18:17:44 [4107] [CLIENT_DISCONNECTED] [未知] [xx.xx.xx.xx] [错误:上下文已取消]
2019/08/05 18:18:35 [4105] [CLIENT_DISCONNECTED] [未知] [xx.xx.xx.xx] [错误:拨打 tcp 127.0.0.1:33292:i/o 超时]

测试基础设施

1) AWS EC2 t2.micro 1 cpu
2) NightwatchJS 1.1.11
3) Chrome 75.0

附加问题

我看到 -log-output-dir 中没有保存任何会话日志,并且 dir 具有写权限。

尝试使用 4m 给会话超时,但它没有帮助。