Estou tentando configurar o servidor Appium para que ele seja registrado automaticamente após a inicialização do sistema. Também gostaria que fosse reiniciado após uma falha. O Appium foi instalado como um pacote npm e é iniciado e funciona bem quando digito "appium" no terminal.
Então, o que eu fiz foi criar o arquivo io.appium.server.plist em / Library / LaunchAgents / com o seguinte conteúdo:
<?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>io.appium.server</string>
<key>OnDemand</key>
<false/>
<key>UserName</key>
<string><valid_user_name></string>
<key>GroupName</key>
<string>staff</string>
<key>ProgramArguments</key>
<array>
<string>appium</string>
<string>--session-override</string>
</array>
</dict>
</plist>
Em seguida, atribuiu o proprietário adequado (chown) e permissões (chmod) a este arquivo e executou o comando:
sudo launchctl load /Library/LaunchAgents/io.appium.server.plist
Por algum motivo, isso não iniciou o servidor appium, não consigo me conectar a ele. O comando "launchctl list" relatou que minha tarefa foi encerrada com 78 códigos de status, mas na documentação do Appium não consigo encontrar o significado desse código de saída.
$ launchctl list | grep appium
- 78 io.appium.server
O que eu perdi? Por que o appium é lançado bem quando é iniciado a partir da linha de comando, mas não é iniciado a partir do launchd?
Eu tentei mover o arquivo plist para o diretório do usuário: ~ / Library / LaunchAgents /, alterando UserName, mas nenhum dos dois ajudou. Eu depurei isso definindo as chaves StandardOutPath e StandardErrorPath, o que eu descobri é que os arquivos de saída foram criados, mas estavam vazios.
Tags command-line mac launchd launchctl macos