Firefox配置文件首选项与Chrome选项与IE所需功能

时间:2014-09-11 01:32:44

标签: internet-explorer google-chrome firefox selenium selenium-webdriver

我已经看到(并且实际回答)了几个特定于硒的问题,其中需要设置一些特定的浏览器偏好来改变它的行为,例如:

换句话说,有很多问题可以分为两类:

  • 我知道如何在浏览器X中设置此首选项,如何在浏览器Y中执行相同操作?
  • 如何让浏览器X,Y和Z通过配置他们的首选项来做某事?

这通常通过设置/配置来完成:

  • FirefoxProfile for Firefox
  • ChromeOptions适用于Chrome
  • DesiredCapabilities用于Internet Explorer

针对特定问题查找特定于浏览器的解决方案的首选和最有效策略是什么?主要浏览器的首选项之间是否存在映射

例如,我发现要在Firefox中禁用缓存,我可以设置browser.cache.disk.enablebrowser.cache.memory.enablebrowser.cache.offline.enable和 对network.http.use-cache的{​​{1}}偏好设置。 如何我可以知道如何在Chrome和IE中执行相同操作吗?

1 个答案:

答案 0 :(得分:6)

突出我的意思是将Wikipedia文章压缩为1句:

  

Selenium WebDriver ... 是通过   浏览器特定的浏览器驱动程序,...旨在提供基本的构建块,开发人员可以从中创建自己的Domain Specific Language

针对特定问题查找特定于浏览器的解决方案的首选和最有效策略是什么?

而是试着这样思考:如果特定的浏览器实现了一个功能,那么selenium驱动程序很可能会暴露它。如果您可以手动解决问题,您知道是否实现了功能。

我为您提供了非常有效的问题解决算法: CS || RTM || UTSL

  1. [CS] 您可以手动解决问题吗?尝试使用相同的步骤。
  2. [RTM] 您能找到手册或示例吗?其他人可能已经解决了你的问题。
  3. [UTSL] 如果常识和RTM不起作用,那么
    • 手册可以告诉您应该如何工作
    • 来源可以告诉您的工作原理
  4. enter image description here 图片来自Jeff Atwood博客post

    主要浏览器的首选项之间是否存在映射?

    ,首选项未整合跨驱动程序。司机有specifics and tradeoffs

    不同的浏览器甚至浏览器版本都支持不同的功能集。他们中的一些人甚至缺乏共同点。其中一些功能由selenium涵盖,以便它提供它所具有的基本功能。这样的例子就是较旧的IE不支持xPath,而Selenium必须模拟这种行为。 你不能假设它增加行为来考虑每个浏览器中的每个怪癖来创建一个共同的平台(这将是一个邪恶的问题)。

    我建议你阅读Wicked problem : Strategies to tackle wicked problems

    知道如何在Firefox中禁用缓存,我怎么知道如何在...中执行相同操作?

    要在chrome中执行相同操作,您可以使用--disable-application-cache参数运行chrome驱动程序。要查看当前Chrome可以设置的标记,您可以浏览Chrome中的 chrome://flags/ 。另一种方法是查找可用source

    IE的替代名称是怪癖的母亲。这是您需要进行研究的地方。一种方法是拨打 RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess nr

    nr flag field

    • 255(删除所有历史记录)
    • 1(仅删除历史记录)
    • 2(仅删除Cookie)
    • 8(删除临时互联网 仅限文件)
    • 16(仅删除表单数据)
    • 32(仅删除密码记录)

    This source声称截至2013年5月,IE可能有 desiredCapabilities.ensureCleanSession 来清除缓存,但我还没有对其进行测试。