Selenium Grid 4会话未反映

Selenium Grid 4会话未反映,selenium,amazon-ecs,selenium-grid,aws-fargate,Selenium,Amazon Ecs,Selenium Grid,Aws Fargate,我已经在ECS fargate POC中设置了selenium grid 4。安装工作正常,并运行了一些测试,但我在节点会话中遇到了一个问题。我正在传递环境变量以增加会话,但更改不会反映在fargate设置中。有人能告诉我会有什么问题吗 注意:我在本地计算机(docker compose)中运行了相同的设置,它在本地计算机中的工作方式与预期相同 =========== 更新 我已附上selenium登录页的截图。在通过SE_节点_MAX_SESSIONS=2后,有一个具有一个会话的chrome节

我已经在ECS fargate POC中设置了selenium grid 4。安装工作正常,并运行了一些测试,但我在节点会话中遇到了一个问题。我正在传递环境变量以增加会话,但更改不会反映在fargate设置中。有人能告诉我会有什么问题吗

注意:我在本地计算机(docker compose)中运行了相同的设置,它在本地计算机中的工作方式与预期相同

=========== 更新 我已附上selenium登录页的截图。在通过SE_节点_MAX_SESSIONS=2后,有一个具有一个会话的chrome节点。 chrome节点的日志。正在运行的任务和chrome任务详细信息

启动网格? 首先启动gird hub ECS服务,等待运行状态,然后启动chrome ECS服务。我尝试过手动运行并使用run任务覆盖环境变量

cpu和内存详细信息? 对于grid hub和chrome任务,我都设置了4GB内存和2VCPU


我遇到了同样的问题。我想将会话设置为4,而ECS服务有1vCPU。在最新的selenium版本之前,这是无法设置的

Selenium团队发布了一个修复程序

我用环境变量尝试了这一点:

  • SE_节点_最大会话=4
  • SE_NODE_OVERRIDE_MAX_SESSIONS=true
在本地它可以工作,但在ECS中,虽然从日志中可以看到max sessions设置为4,但在执行curl检查时仍然可以看到一个可用的会话

我可以通过检查电网状态来确认:

curl -X POST -H "Content-Type: application/json" --data '{"query": "{ grid { totalSlots, sessionCount } }"}' -s my-selenium-machine:4444/graphql
对于一个selenium节点,我应该有4个插槽,1个插槽。 你能解决这个问题吗?在最新的selenium版本中它对您有效吗

更新

我可以通过添加其他环境变量来解决此问题:

  • JAVA_OPTS=-XX:ActiveProcessorCount=4

我通过在Github上引用这个问题解决了这个问题:,除了在节点上设置最大会话之外,还应该设置活动处理器

XX:ActiveProcessorCount=**


**是您首选的最大会话数。希望它对你有用

我是带着比Selenium更好的远门理解来到这里的,在这样的背景下,我不清楚你会期望发生什么以及你实际看到发生了什么(从远门的角度)。要不要扩大一点?除非有Selenium专家可以立即解决此问题。@mreferre我想增加浏览器的节点最大会话数。这可以通过使用SE_NODE_MAX_SESSIONS=4环境变量来完成。当我设置这个值时,我可以在本地机器上获得4次chrome会话。fargate中使用的环境变量与我在会话中得到的默认值相同。您是在ECS任务定义中传递环境变量,还是在启动任务时在运行时传递环境变量?@mreferre我在任务定义和运行时传递了环境变量。我试了两种方法。我已经更新了问题的更多细节。请调查一下,如果我做错了什么,请告诉我。您正在传递变量,显然它在容器中被拾取,因为我看到它在日志中吐出
max sessions=2
。那部分应该没问题。是否需要设置其他内容以获得所需的2个会话?也许这个变量设定了上限,但你需要告诉Selenium你到底想要多少?你是说同样的配置可以在prem上正常工作,并且你可以自动获得2个会话吗?抱歉在这里进行头脑风暴。嗨,亚历克斯,谢谢你提供的详细信息!我可以在AmazonECS中使用以下环境变量:JAVA_OPTS=-XX:ActiveProcessorCount=**