如何配置Selenium以私人模式启动Safari? (我正在使用Ruby界面。)
对于上下文,这就是为什么在Safari的私有模式下运行测试很重要:尝试写入本地存储将在Safari的私有模式中引发错误。因此,我希望自动化测试验证我的代码在私有模式下避免写入本地存储。 (而且,或许更重要的是,它会将未来的错误引起开发人员的注意
答案 0 :(得分:3)
让我们看一下私人浏览的定义: https://support.apple.com/kb/PH19216?locale=en_US
当您使用私人浏览窗口时,Safari不会保存您的浏览历史记录,并且会要求您访问的网站不会跟踪您。
在这里:http://en.wikipedia.org/wiki/Privacy_mode
隐私模式或“隐私浏览”或“隐身模式”[1]是某些网络浏览器中的隐私功能,用于禁用浏览历史记录和网络缓存。这允许人们浏览Web而不存储可以在以后检索的本地数据。隐私模式还将禁用Cookie和Flash Cookie中的数据存储。此隐私保护仅适用于本地计算设备,因为仍可通过关联Web服务器上的IP地址来识别常用网站。
所以这意味着Selenium相当于打开私人浏览。每次通过Selenium启动任何驱动程序时,它都会创建一个全新的匿名配置文件,您实际上是在私下浏览。 (如果你没有使用已经创建的safari简介)
BUT!如果你仍然认为你需要在隐身模式下运行safari,你可以使用以下hack:
您可以使用AppleScript自动启用“私人浏览”选项。像这样。
首先,启动Universal Access系统首选项并启用“启用辅助设备访问”选项。
启动脚本编辑器(在Applications文件夹内的AppleScript文件夹中)并输入以下脚本:
tell application "Safari" activate end tell tell application "System Events" tell process "Safari" tell menu bar 1 tell menu bar item "Safari" tell menu "Safari" click menu item "Private Browsing" end tell end tell end tell end tell end tell
来自此处的信息:http://www.macworld.com/article/1139714/enableprivatebrowsing.html