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.plist
にselnode.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に他のユーザーの特権の下でエージェントを実行させるにはどうすればよいですか?