AppiumServce 객체를 통한 서버 실행은 로컬에서 밖에 하지 못한다.

Dahun Yoo·2024년 2월 1일
0

Appium with python

목록 보기
11/13

AppiumService()

Appium 라이브러리에서는 appium server를 코드에서 직접 실행시키는 AppiumService() 라는 클래스가 존재합니다.

https://appium.github.io/python-client-sphinx/webdriver.html#module-webdriver.appium_service

아래의 코드를 통해 서버의 실행이 가능합니다.

from appium.webdriver.appium_service import AppiumService

appium_server = AppiumService()

appium_server.start()

start() 메소드는 args 파라미터를 통해 appium server 실행 시의 파라미터를 그대로 넘겨줄 수 있습니다. 예를 들어

appium_server.start(args=[
  "--address",
  f"{ip}",
  "-p", 
  f"{port}"
])

이런식으로, appium 서버를 실행시킬 때 넘기는 파라미터들을 넘길 수 있습니다.

How to Appium server remotely using AppiumService?

자, ip와 port도 입력할 수 있으니, 이정도되면 이제 원격으로 실행하는 경우에도 앱피움 서버를 원격으로 키고 끄고 할 수 있지 않을까? 싶은 생각도 듭니다.

결론부터 말하자면, 그럴 수는 없습니다.

실제로 docString을 보아도 원격으로 실행할 수 없다고는 아무데도 기재되어있지 않습니다.

그래서 직접 원격으로 실행 시도를 해보면 실행시킬 수가 없습니다.

This API is only supposed to work on the same machine where it is executed. If you want to control the server remotely then consider using something else, for example paramiko

https://discuss.appium.io/t/running-remote-appium-server-using-appiumservice-python/41496/5?u=dahunyoo

Appium 포럼에 문의해본 결과, 이 기능은 코드가 실행되는 기기와 터미널이 실행될 기기가 같은 경우에만 사용할 수 있다 라는 답변을 받았습니다.

끝!

profile
QA Engineer

0개의 댓글