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

ale*_*cxe 8 firefox selenium internet-explorer google-chrome selenium-webdriver

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

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

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

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

  • FirefoxProfile 对于Firefox
  • ChromeOptions 对于Chrome
  • DesiredCapabilities 对于Internet Explorer

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

例如,我发现,在Firefox中禁用缓存,我可以设置browser.cache.disk.enable,browser.cache.memory.enable,browser.cache.offline.enablenetwork.http.use-cache喜好false.怎么我知道该怎么做相同的Chrome和IE?

Mar*_*gus 6

突出我的意思将维基百科的文章压缩为1句话:

Selenium WebDriver ... 通过 特定于浏览器的浏览器驱动程序实现的,其目的是提供一组基本构建块,开发人员可以从中创建自己的域特定语言.

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

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

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

  1. [CS]你能手动解决问题吗?尝试使用相同的步骤.
  2. [RTM]您能找到手册或示例吗?有可能其他人已经解决了你的问题.
  3. [UTSL]如果常识和RTM不起作用,那么
    • 手册可以告诉你应该如何工作.
    • 来源可以告诉你这些东西如何工作的.

在此输入图像描述 图片来自Jeff Atwood博客文章.

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

,偏好不会在驱动程序之间进行整合.司机有其细节和权衡.

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

我建议你阅读邪恶的问题:解决邪恶问题的策略.

知道如何在Firefox中禁用缓存,我怎么知道如何在......中做同样的事情?

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

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

其中nr标志字段:

  • 255(删除所有历史记录)
  • 1(仅删除历史记录)
  • 2(仅删除Cookies)
  • 8(仅删除Internet临时文件)
  • 16(仅删除表格数据)
  • 32(仅删除密码历史记录)

该消息来源声称,截至2013年5月,IE可能有期望的Capability.ensureCleanSession来清除缓存,但我还没有测试过它.


归档时间:

查看次数:

3043 次

最近记录:

8 年,7 月 前