2017-10-25 2 views
0

사파리 테스트를 위해 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.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

이것은 필자가 글로벌 라이브러리에없는 넣어하지만 0600/사용자/참고 MyUser/라이브러리/LaunchAgents 그리고 필자 권한 설정에 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입니다.스탭

관련 문제