问题标签 [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.
robotframework - 运行 Selenoid Grid 并在浏览器打开时定期获得 ERR_NETWORK_CHANGED
我们在一个三节点集群(也运行 Kubernetes)上运行 Selenoid Grid。每隔一段时间,当我们在网格上的 Chrome 浏览器中运行一些机器人框架测试相同的测试时,当我们打开浏览器页面并且测试失败时,我们会看到 ERR_NETWORK_CHANGED。当不在 Grid 中运行时,我们永远不会看到这一点。
捕获 tcpdump 并看到(RST,ACK)来自 docker 容器,用于 chrome 浏览器。将不胜感激有关如何调试此问题的任何建议。
是的,我们确实计划将 Grid 移动到它自己的节点(因为 Kubernetes 和 Selenoid 之间可能存在冲突,因为我们没有运行 Kubernetes 版本)。
amazon-web-services - AWS ECS 上的 Aerokube Selenoid
有没有人能够在 aws ecs 上配置 selenoid ?我能够运行 selenoid-ui 容器,但 selenoid 集线器图像不断抛出有关 browsers.json 的错误,但是我无法找到添加 browsers.json 文件的方法,因为它在执行 CMD 命令之前停止
selenoid - selenoid 有像 zalenium 这样的仪表板吗?哪个更推荐使用?
我是硒的新手。在我的 linux 系统上,selenoid 和 selenoid-ui 服务已启动并正在运行。我可以在 selenoid 上运行测试用例,也可以在 http://:4444/video/ 和 http://:4444/logs/ 上查看视频和日志。我们是否有一个仪表板,我们将在其中执行、通过、失败、记录等总数的测试用例。根据通过的链接,大多数人都支持在 zalenium 上使用 selenoid。为什么?它提供的网址,例如 http://:4444/video/ 和 http://:4444/logs/ 也设计得不好。
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:权限被拒绝
ruby-on-rails - [selenoid][capybara][rails] 我们可以在 Rack App 中使用 selenoid
在 Rails 中,当我们将 capybara 与 selenium 一起使用时,默认情况下它们会为我们的 rails 应用程序运行机架服务器,我们可以在不运行实际应用程序的情况下对其进行测试。
那么让我解释一下它的含义:
因此,当我们为 rails 配置 capybara rspec 和 selenium 时,不需要单独运行您的 rails 服务器,当我们运行规范以及访问规范中应用程序的任何 URL 时,它就可以正常工作。它发生是因为它在后台创建了一个机架服务器。
现在我使用 Selenoid 而不是 selenium,但机架服务器无法正常工作。那么 selenoid 是否仅适用于远程 url 而它不创建任何机架应用程序?
让我知道是否有任何其他信息。是必须的。
谢谢!
selenium - 为 geckodriver 使用自定义 firefox 浏览器版本功能
我自己为 firefox 构建 selenoid docker 映像,browsers.json
并按如下方式配置它们:
发送version=beta
功能会导致 webdriver 抛出
selenium.WebDriverException: Requested environment is not available
在我发现的日志中
由于完全相同的东西适用于 chrome,如果我设置并且不设置功能,它也适用"default": "beta"
,browsers.json
我version
认为这是因为 geckodrivers 将功能中的版本与实际浏览器版本相匹配。(这里假设)。
我有几个想法如何解决这个问题,但不知道如何在技术上实现这些:
- 防止 Selenoid 将
version
功能传递给 selenium 驱动程序(本例中为 geckodriver) - 防止 geckodriver 检查
version
功能和浏览器版本 - 向 selenoid 添加另一个标志以从中获取 docker 图像,
browsers.json
而browser_version
不是version
- 添加另一个假浏览器
browsers.json
并将测试版设置为默认值,然后只需设置browserName
功能。这里的问题是,selenoid 检查浏览器名称,如果不匹配chrome
,firefox
或者opera
selenoid 容器无法启动。例如:
browserName=firefox-beta
任何帮助或进一步的信息将不胜感激
android - 如何使用 Selenoid Docker 映像将标志传递给移动 Chrome
我正在尝试在没有“欢迎使用 Chrome”屏幕的情况下启动 Chrome,并且似乎无法找出使用 Selenoid 和提供的 Android Docker 映像的正确方法。
我使用automation_android.sh 创建容器映像并遵循所有提示,仅在询问版本号和询问我是否要安装Chrome 时才偏离默认设置。
Chrome 会加载,但无论我在测试中放了什么,我似乎都无法让它绕过欢迎屏幕。
目前我的配置如下所示:
我尝试将 chromedriverArgs 更改为“goog:chromeOptions”和 chromeOptions。我也尝试在“selenoid:options”中移动所有三种组合。
我怀疑我只是做错了什么,但如果有人能提供任何帮助,我将不胜感激。
java - 如何使用带有 Java 的 chrome 选项在 Selenoid 中下载文件
我正在尝试为在 selenoid 图像上启动的 chrome 浏览器下载文件。使用我如下配置的 chromeoptions,浏览器会在图像上打开下载文件对话框,我的测试用例失败。我正在尝试找到一种在没有下载对话框的情况下以 selenoid 图像下载文件的方法。
我所有的 chromeoptions 在基于 Windows 的机器上都可以正常工作。
下面是我的 chromeoptions
预期 - 文件应下载到指定路径。发生了什么 - 脚本停止并出现文件下载对话框
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)我在单个测试套件中有很多测试用例,所以分成更小的测试。
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 给会话超时,但它没有帮助。