google-chrome - Protractor :在启用网络节流的情况下启动 chrome

标签 google-chrome protractor google-chrome-devtools

根据 this issue,ChromeDevTools 的网络节流功能在 ChromeDriver-2.26+ 中可用.如何在我们的 Protractor 配置文件中指定它?

基于四处搜索,我在配置文件中尝试了一些变化。我添加了一个 networkConnectionEnabled属性(property)和prefs阻止到 chromeOptions,如下所示。 (请注意,我没有同时执行它们。)

multiCapabilities: [
    {
        'browserName': 'chrome',
        'platform': 'ANY',
        'networkConnectionEnabled': {'type': 'GPRS'},
        'chromeOptions': {
            args: [
                '--lang=en',
                '--window-size=1280,1024'
            ],
            prefs: {
                'net.throttling_enabled': 'true,50,20'
            }
        }
    }
],

我根据我的发现尝试的第二个选项 here (第 1983 行)。这些都不会改变 Protractor 运行的行为,当我手动测试并设置节流时,会在我的代码中触发某个条件。

编辑:还尝试添加如下内容 underchromeOptions: mobileEmulation: {networkConnectionEnabled: true, networkThrottle: '2G'}

最佳答案

根据 changelog Selenium 3.4.0 中添加了用于在 Chrome 中操作网络模拟的 API。它们在 Protract 5.2.0 或更新版本中可用。

网络条件可以配置如下:

browser.driver.setNetworkConditions({
    offline: false,
    latency: 5, // Additional latency (ms).
    download_throughput: 500 * 1024, // Maximal aggregated download throughput.
    upload_throughput: 500 * 1024 // Maximal aggregated upload throughput.
});

这个代码应该放在protractor.conf.jsonPrepare功能。

关于google-chrome - Protractor :在启用网络节流的情况下启动 chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44706831/

相关文章:

javascript - 在 Chrome 扩展中,更改发送到特定域的 ajax 请求的引荐来源网址?

javascript - for循环的 Protractor 中断

html - 使用 Protractor 测试本地网站

security - 安全存储和使用用户凭证测试环境的策略

javascript - 你应该如何在 React.js 中调试 JSX?

ssl - 通过 https 的 Android list 模拟给我一个错误

ios - 如何在iOS设备上的Chrome移动版上进行远程调试

google-chrome - 开发工具自动完成功能在 chrome 35、ubuntu 14.04 上不起作用

ios - HTML 5 缓存 list 不再在 Chrome 的 IO 中工作

javascript - Chrome DevTools 在大数据 uri 上卡住