这是我的docker-compose文件。
version: "3"
services:
selenium-hub:
image: selenium/hub
container_name: selenium-hub
ports:
- "4444:4444"
environment:
- GRID_BROWSER_TIMEOUT=30
chrome:
image: selenium/node-chrome
depends_on:
- selenium-hub
environment:
- HUB_PORT_4444_TCP_ADDR=selenium-hub
- HUB_PORT_4444_TCP_PORT=4444
firefox:
image: selenium/node-firefox
depends_on:
- selenium-hub
environment:
- HUB_PORT_4444_TCP_ADDR=selenium-hub
- HUB_PORT_4444_TCP_PORT=4444
volumes:
- "/dev/shm:/dev/shm"
我有一个测试用例失败,其堆栈跟踪如下:
Capabilities {
acceptInsecureCerts: true,
browserName: firefox,
browserVersion: 62.0,
javascriptEnabled: true,
moz:accessibilityChecks: false,
moz:geckodriverVersion: 0.22.0,
moz:headless: false,
moz:processID: 6052,
moz:profile: /tmp/rust_mozprofile.M1QvZi..., moz:useNonSpecCompliantPointerOrigin: false,
moz:webdriverClick: true,
pageLoadStrategy: normal,
platform: LINUX,
platformName: LINUX,
platformVersion: 4.4.0-1066-aws,
rotatable: false,
timeouts: {implicit: 0, pageLoad: 300000, script: 30000
}
我的测试用例失败,因为即使网页未正确加载,Web驱动程序仍在尝试在应用程序中定位元素。
在Before方法中,我添加了两个超时,隐式等待和页面加载超时,并且都设置为45秒。我的问题是,当我收到RemoteWebdriverException并且功能显示隐式设置为0时,两个隐式等待是相同还是不同?
如果它们相同,那么为什么显示0?如果它们不同,这是什么意思,有什么办法可以将值从0显式更改为45。
P.S:我执行该异常五次,却三次,并且仅在Firefox中发生。我正在并行执行我的测试用例,其中parallel =“ methods”和thread-count =“ 3”以前是5,因为我遇到内存不足的问题,现在不来了。