사파리 테스트를 위해 MacOS에서 셀렌 노드를 실행중인 임. MacOS Sierra 10.12.6 Selenium 3.6.0 Java 9.0.1 사파리가 작동 할 수 있도록 필자는 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에서 내 에이전트를 실행하려면 어떻게해야합니까?