【问题标题】:Jenkins And Launch Safari With ExtensionsJenkins 并使用扩展启动 Safari
【发布时间】:2015-04-03 19:43:46
【问题描述】:

我遇到了 Jenkins 无法使用已安装的扩展程序启动 safari 的问题。当我采用相同的 bash 脚本并通过终端(在 jenkins 之外)执行它时,脚本按预期运行。

有问题的扩展是 Selenium Web Driver Safari Extension。 当 Safari 加载时,系统会提示我扩展已迁移。当然,所有自动化 UI 测试都会失败。

我已经用谷歌搜索了我的答案并浏览了 stackoverlfow,但我无法弄清楚。

  1. 我在我的钥匙链的系统文件夹中应用了来自 Apple dev 的证书
  2. 2.45 Safari 扩展已安装并运行
  3. webdriver 使用 safari_opts.skip_extension_installation = true 实例化

    • OSX - 10.10.2
    • 詹金斯 - 1.606
    • Safari - 8.04

我正在努力找出问题所在。非常感谢任何帮助。

谢谢!

布赖恩

【问题讨论】:

  • Jenkins 在“干净”的环境中运行一切,没有任何 ENV 变量等问题是 - 钥匙串是否应用在该会话中?您是否尝试将其作为构建步骤进行?
  • @Stanjer 你是建议wiki.jenkins-ci.org/display/JENKINS/… 发生这种情况还是有其他方法可以做到这一点?
  • 类似于 security -v unlock-keychain -p ~/login.keychain PS 我的意思是我没有尝试过那个插件,所以不知道它是如何工作的 :)
  • 请将您的答案添加为答案,而不是评论。这解决了我的问题@Stanjer!我想投票!
  • 完成了,很高兴能帮上忙 :)

标签: bash selenium jenkins safari


【解决方案1】:

由于 Jenkins 在干净的环境中运行作业,即使您已经添加了钥匙串,它也会忽略它。因此,您应该添加一个钥匙串作为构建步骤。比如:

security -v unlock-keychain -p <pass> ~/login.keychain

【讨论】:

    【解决方案2】:

    是的,stanjer 是对的...我只是添加这个答案来改进它。

    去这个问题的细节特别评论没有“71”。

    https://code.google.com/p/selenium/issues/detail?id=7933

    我在 shell 脚本的开头使用此代码,如下所示:

    keychain="~/Library/Keychains/login.keychain"
    security -v unlock-keychain -p ewew1221 ~/Library/Keychains/login.keychain 
    
    if [ $? -ne 0 ];then
     echo "Cannot open keychain ${keychain}"
     exit 1
    fi
    

    ewew1221 是我的密码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多