Chromedriver页面加载完成判定时机咨询(Codeception测试优化)
Codeception+Chromedriver UAT测试提速与加载判定逻辑
Chromedriver默认页面加载判定依据
默认情况下,Chromedriver会等待页面的**load事件触发**后,才会结束页面加载等待、执行后续测试步骤。load事件要等页面所有资源(图片、样式表、脚本、第三方资源等)全部加载完成才会触发,这就是简单测试也耗时1秒以上的核心原因。
测试提速优化方案
- 切换页面加载策略:将Chromedriver的加载策略改为
eager,它会在**DOMContentLoaded事件触发**后就继续执行(DOM树构建完成即可,无需等待所有资源加载),能显著减少等待时间。 - 在Codeception中配置调整:修改你的验收测试套件配置文件(通常是
acceptance.suite.yml),添加加载策略配置:
modules: enabled: - WebDriver: url: 'http://你的项目域名' browser: chrome capabilities: pageLoadStrategy: eager goog:chromeOptions: args: - "--headless=new" # 启用无头模式进一步提速 - "--blink-settings=imagesEnabled=false" # 禁用图片加载
- 其他优化:关闭Chrome的自动更新、禁用不必要的浏览器扩展,也能降低测试启动和运行的额外开销。
内容的提问来源于stack exchange,提问作者rollstuhlfahrer
相关产品推荐
相关产品推荐

