禁用JavaScript时的WebDrivero自动化测试

禁用JavaScript时的WebDrivero自动化测试,javascript,selenium-webdriver,webdriver-io,browser-automation,wdio-v4,Javascript,Selenium Webdriver,Webdriver Io,Browser Automation,Wdio V4,WebdriverIO框架中是否有方法在禁用JavaScript的情况下启动浏览器 我想自动化一个禁用JavaScript的场景。但是,当我在Chrome或Firefox中手动禁用JavaScript并运行WDIO脚本时,浏览器总是在启用JavaScript的情况下打开。不再是了。但你在下面有一个解决办法 这过去很容易通过使用来实现。但考虑到chromedriver、geckodriver等所有驱动程序实现现在都需要JavaScript来驱动生成的浏览器实例,这已经不可能了 它是通过chrome

WebdriverIO框架中是否有方法在禁用JavaScript的情况下启动浏览器

我想自动化一个禁用JavaScript的场景。但是,当我在Chrome或Firefox中手动禁用JavaScript并运行WDIO脚本时,浏览器总是在启用JavaScript的情况下打开。

不再是了。但你在下面有一个解决办法

这过去很容易通过使用来实现。但考虑到chromedriver、geckodriver等所有驱动程序实现现在都需要JavaScript来驱动生成的浏览器实例,这已经不可能了

它是通过chromeOptions参数/开关实现的:

capabilities: [{

        maxInstances: 2,

        browserName: config[env].browser,
        chromeOptions: {

            args: ['--disable-javascript',
                   '--disable-javascript-harmony-shipping'
            ]
        }
    }]
!!!稍后编辑:您可以通过加载自定义配置文件来实现这一点

启动WebdriverIO测试用例,但在加载页面后添加browser.debug; 在地址栏中,键入chrome://settings/content 在模式中,选中“不允许任何站点运行JavaScript”。单击完成。现在转到一个随机页面,注意JavaScript已被阻止:

现在,我们必须保存此自定义配置文件,并在每次启动WebdriverIO测试用例时加载它。类型chrome://version 在你的地址栏里。请注意配置文件路径值。复制文件夹的内容,例如:对于C:\Users\\Desktop\scoped_dir18256\u 17319\Default,复制桌面上的scoped_dir18256\u 17319文件夹。此文件夹包含所有操作搜索历史记录、已安装的扩展、已保存的帐户。。。在我们的例子中,JavaScript禁用了当前实例上的选项

现在我们需要做的就是在wdio.config.js文件中将该文件夹的路径添加为chromeOptions参数:

chromeOptions: {
    //extensions: ['./browserPlugins/Avira-SafeSearch-Plus_v1.5.1.crx'],
    args: [ '--user-data-dir=/Users/<yourUserName>/Desktop/scoped_dir18256_17319'
    ]
}
现在,您所要做的就是使用这个定制配置文件运行测试用例,JavaScript将在所有网站上被阻止。希望这是你正在寻找的行为,因为没有其他方法可以实现这一行为


干杯

请阅读-总结是,这不是一个理想的方式来解决志愿者,可能会适得其反获得答案。请不要将此添加到您的问题中。@IAM请使用您提供的解决方案。最好的办法。非常感谢:谢谢@iamdanchhiv的帮助。这对我来说真的很管用。我尝试了所有其他方法,但都没有成功。你说的方法很完美。