使用命令行在Mac上安装Safari webdriver,无需任何用户提示

时间:2016-06-23 18:49:52

标签: macos safari webdriver command silent-installer

我正在Mac 10上为Safari 8设置Selenium测试。我需要预先安装我们的Safari驱动程序,它需要静默发生,没有任何用户提示。

我还手动安装了safari驱动程序,我看到下面的文件会被更改:

  

安装后,〜/ Library / preference中的3个文件已被更改   安装完成后,〜/ Library / Safari文件中的7个文件已被更改   安装完成后,〜/ Library / Keychains文件中的login.keychain已被更改为

从之前的帖子中,我尝试过这些:

  1. Silent install for Safari extension on Mac without any user prompting。 我发现这有效,因为它使用扩展名加载浏览器:

    open -a Safari SafariDriver.safariextz<br>
    

    但它会打开浏览器并提示用户:“你确定要安装扩展吗?”

    然后我按照第一个答案尝试这样做: “将扩展程序安装到~/Library/Safari/Extensions并更新~/Library/Safari/Extensions/Extensions.plist”。在这里,我将SafariDriver.safariextz复制到此路径:~/Library/Safari/Extensions。然后我在此路径Extensions.plist中找不到~/Library/Safari/Extensions/。我也找不到这些文件~/Library/preference/com.apple.Safari.plistcom.apple.Safari.Extensions.plist

  2. 中与safari驱动程序相关的更改项目
  3. I am unable to install my extension to safari from commandline (OS X 10.5.8 Safari 5+)。我使用文章中的这个命令来尝试,仍然使用用户提示符:

    sudo /Applications/Safari.app/Contents/MacOS/safari /tmp/my-product/my-extension.safariextz<br><br>
    

    有人可以在这里回答我的问题并提供更多详细信息,提前感谢。

1 个答案:

答案 0 :(得分:0)

我通过AppleScript意识到这一点。
1. applescript可以处理提示
告诉申请“Finder”
    将f设置为POSIX文件“/usr/bin/SafariDriver.safariextz”
    如果存在f则         无视申请回复
            告诉应用程序“Safari”打开f
        结束无视
        告诉应用程序“系统事件”
            告诉流程“Safari”
                设置最前面的真实                 重复直到(存在窗口1)和窗口1的子角色是“AXDialog” -
                    延迟1
                结束重复
                单击前窗的按钮1 - 安装
            告诉你         告诉你     结束如果
告诉你 2,我试图复制相关文件,如手动安装文件将被修改,我的问题中提到。我可以在Safar-&gt; preferency-&gt; Extesions中看到驱动程序显示。但我没有测试它是否已正确安装。如果操作系统不同,我发现Extensions.plist将位于不同的文件夹中。
因为我试过两个:
1)。在Mac 10.9中,它将在文件下面修改:
〜/图书馆/优惠:
    com.apple.safari.plist
    com.apple.finder.plist
〜/库/ Safari浏览器:
    扩展/ WebDriver.safariextz
    扩展/ Extensions.plist
〜/库/钥匙链:
    log.keychain
2)。在Mac 10.10中,它将在文件下面修改:
〜/图书馆/优惠:
    com.apple.safari.plist
    com.apple.finder.plist
    com.apple.safari.Extension.plist
〜/库/ Safari浏览器:
    扩展/ WebDriver.safariextz
〜/库/钥匙链:
    log.keychain