don't stop believing

Appium Server 실행 (Command line) 본문

Testing Automation/Appium

Appium Server 실행 (Command line)

Tongchun 2017. 11. 1. 14:03

Command line으로 Appium을 실행해 보겠습니다.


먼저 appium이 실행되어 있는지 확인해 봅시다.

기본적으로 port를 확인해 봅니다. OSX에서는 아래 명령으로 현재 열려있는 port와 Process ID를 확인할 수 있습니다.

$ sudo lsof -PiTCP -sTCP:LISTEN

만약 실행되어 있다면 아래와 같이 출력됩니다.

Appium  29344 appium   45u  IPv4 0x6244b6d4294793c7      0t0  TCP *:4723 (LISTEN)


Appium이 4723 port로 열려 있네요. process kill 로 Appium을 종료합니다.


Appium은 Application으로도 실행할 수 있습니다.

옵션을 추가하고 Start Server를 클릭하면 Appium 서버가 실행됩니다.

관리를 쉽게하기 위해 또는 스크립트와 함께 실행시키기 위해 Command Line으로 Appium을 실행하도록 해봅시다.

Command Line으로 실행 시 각 옵션에 대한 설명은 아래 url에서 확인할 수 있습니다.

[https://appium.io/slate/en/master/?ruby#server-flags]


Terminal에서 바로 실행하려면 아래와 같이 실행합니다.

$ appium --address 0.0.0.0 --port 4723 --log /Users/appium/Documents/AppiumTest/appium.log --log-level debug &

기본 Port는 4723 입니다.

실행된 appium 서버를 중지시키려면 killall 명령으로 node process를 중지시키면 됩니다.

$ killall node


Appium 서버 Start와 Stop을 Shell Script로 만들어 봅시다.

먼저 sh 파일을 만들어 줍니다.

$ touch ./start_appium.sh
$ sudo vim start_appium.sh

아래와 같이 작성하고 저장합니다.

#!/bin/sh

address="0.0.0.0"
port=4723

clear
appium --address $address --port $port --log /Users/appium/Documents/AppiumTest/appium.log --log-level debug &

sh 파일을 실행해서 appium을 시작시켜 봅시다.

$ sh stop_appium.sh

실행이 되었다면 Appium 실행 메시지가 보일 것입니다.

웹에서 Appium의 상태를 확인해 볼 수 있습니다. 브라우저를 열고 http://127.0.0.1:4723/wd/hub/status를 호출해 봅니다.

json 형태의 버전 정보가 나온다면 Appium실행이 성공한 것입니다.


Appium 서버 중지하는 것도 만들어 봅시다.

$ touch ./stop_appium.sh
$ sudo vim stop_appium.sh

동일하게 killall 명령을 적어줍니다.

#!/bin/sh

killall node

Shell Script로 만들었는데 이것을 Python으로도 만들어 봅시다.

$ touch ./start_appium.py
$ sudo vim start_appium.py

아래와 같이 작성합니다.

from subprocess import call
import shlex

call(shlex.split('clear'))
call(shlex.split('appium --address 0.0.0.0 --port 4723 --log /Users/appium/Documents/AppiumTest/appium.log --log-level debug'))

서버를 중지하는 python 스크립트도 동일합니다.

$ touch ./stop_appium.py
$ sudo vim stop_appium.py

아래와 같이 작성합니다.

from subprocess import call
import shlex

call(shlex.split('killall node'))


이상으로 Command 명령으로 Appium 서버를 실행하는 방법이었습니다.


Comments