ale*_*cxe 8 firefox selenium internet-explorer google-chrome selenium-webdriver
我已经看到(并且实际回答了)几个特定于硒的问题,其中需要设置一些特定的浏览器偏好来改变它的行为,例如:
换句话说,有很多问题可以分为两类:
这通常通过设置/配置完成:
FirefoxProfile 对于FirefoxChromeOptions 对于ChromeDesiredCapabilities 对于Internet Explorer针对特定问题查找特定于浏览器的解决方案的首选和最有效策略是什么?主要浏览器的首选项之间是否存在映射?
例如,我发现,在Firefox中禁用缓存,我可以设置browser.cache.disk.enable,browser.cache.memory.enable,browser.cache.offline.enable和
network.http.use-cache喜好false.怎么我知道该怎么做相同的Chrome和IE?
突出我的意思将维基百科的文章压缩为1句话:
Selenium WebDriver ... 是通过 特定于浏览器的浏览器驱动程序实现的,其目的是提供一组基本构建块,开发人员可以从中创建自己的域特定语言.
而是试着这样思考:如果特定的浏览器实现了一个功能,那么selenium驱动程序很可能会暴露它.如果您可以手动解决问题,您知道是否实现了功能.
我为您提供了非常有效的问题解决算法: CS || RTM || UTSL
图片来自Jeff Atwood博客文章.
不,偏好不会在驱动程序之间进行整合.司机有其细节和权衡.
不同的浏览器甚至浏览器版本都支持不同的功能集.他们中的一些人甚至缺乏共同点.其中一些功能由selenium涵盖,以便它提供它所具有的基本功能.这样的例子就是较旧的IE不支持xPath,而Selenium必须模拟这种行为.你不能假设它添加行为来考虑每个浏览器中的每个怪癖来创建一个共同的平台(这将是一个邪恶的问题).
我建议你阅读邪恶的问题:解决邪恶问题的策略.
要在chrome中执行相同操作,您可以使用--disable-application-cache参数运行chrome驱动程序.要查看当前Chrome可以设置的标记,您可以浏览到chrome://flags/内部Chrome.另一种方法是查找可用的来源.
IE的替代名称将是怪癖的母亲.这是您需要进行研究的地方.一种方法是打电话RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess nr
其中nr是标志字段:
该消息来源声称,截至2013年5月,IE可能有期望的Capability.ensureCleanSession来清除缓存,但我还没有测试过它.
| 归档时间: |
|
| 查看次数: |
3043 次 |
| 最近记录: |