2017-10-25 9 views
0

SafariテストのためにMacOS上でセレンノードを実行しています。 MacOS Sierra 10.12.6 Selenium 3.6.0 Java 9.0.1 IveはSafariが動作するようにMacOSにログインして決して眠らないように設定しました。 IveはLaunchAgentとして開始するようにセレンノードを設定しました。 私はこのMacOS上のLaunchAgentとしてのセレニウムノード

java -Dwebdriver.safari.driver=/Users/cijoe/selenium/selenium-safari-driver-3.6.0.jar -jar /Users/cijoe/selenium/selenium-server-standalone-3.6.0.jar -debug -log /Users/cijoe/selenium/selenium-safari-driver.log -port 5555 -role node -hub http://{{sel_hub_addr}}:4444/grid/register -browser "browserName=safari,version=10,platform=MAC,maxInstances=1, maxSession=1" 

などのrun.shを持っていることは アイブ氏は/Users/myuser/Library/LaunchAgents/selnode.plistselnode.plist(644 MYUSERホイール)を作成したMYUSERホイールの権限755を持っている

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>selnode</string> 
    <key>ProgramArguments</key> 
    <array>  
     <string>/bin/bash</string>  
     <string>/Users/myuser/selenium/run.sh</string>  
    </array> 
    <key>KeepAlive</key> 
    <true/> 
    <key>StandardOutPath</key> 
    <string>>/Users/myuser/selenium/stdout.log</string> 
    <key>StandardErrorPath</key> 
    <string>/Users/myuser/selenium/stderr.log</string> 
    <key>Debug</key>  
    <true/> 
    <key>UserName</key> 
    <string>myuser</string> 
</dict> 
</plist> 

ロードされたアイブそれは

launchctl load -w /Users/myuser/Library/LaunchAgents/selnode.plist 

実行中のプロセスがわかり、セレンハブコントロールパネルに接続されていることがわかります。 しかし、テストは失敗します。それはサファリと対話できません。 そのプロセスはのルートとして実行されています。そして私はそれがmyuserとして実行する必要がありますと思う。 run.shを手動で実行すると、すべて正常に動作します。 MacOSに他のユーザーの特権の下でエージェントを実行させるにはどうすればよいですか?

答えて

0

これは、アイブ氏は、グローバルライブラリにないそれを置くが、に/ユーザ/ myuserの/ライブラリ/のLaunchAgents し、IVEセットの権限でplistの

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>selnode</string> 
    <key>ProgramArguments</key> 
    <array>   
     <string>/Users/myuser/selenium/run.sh</string>  
    </array> 
    <key>KeepAlive</key> 
    <true/> 
    <key>StandardOutPath</key> 
    <string>/Users/myuser/selenium/stdout.log</string> 
    <key>StandardErrorPath</key> 
    <string>/Users/myuser/selenium/stderr.log</string> 
    <key>UserName</key> 
    <string>myuser</string> 
    <key>GroupName</key> 
    <string>staff</string> 
    <key>WorkingDirectory</key> 
    <string>/Users/myuser/selenium</string> 
</dict> 
</plist> 

の最終バージョンです。 ファイルの所有権はmyuserですスタッフ根拠ではありません

関連する問題