Appium 테스트 자동화

Appium + opencv (opencv4nodejs) 모듈 사용하기

retrogem 2020. 5. 22. 22:30

(*2020.05.22 기준으로 작성되었습니다.)

 

 - 짧은 요약

Appium Desktop 과 opencv4nodejs 연동은 쉽지 않다. (불가능 하다는 의견이 있다.)

npm 을 통해 auto build 하면, opencv 3.2.6 버전을 git 통해 pull 받아서 build 하게 되는데,

opencv 3.2.6 버전은 opencv4nodejs 5.+ 버전과 호환되지 않는다.

따라서 4.17.0 (최대)버전을 설치해야한다.

*혹시나 기존에 설치되어 있던 appium 모듈이 있다면 제거하자

 

Step. 0

npm remove appium -g
npm cache clear --force

 

Step. 1

npm install opencv4nodejs@4.17.0 -g

(*참고로 -g 에서 g는 global 의 약자이다.)

 

따라서,

Appium 과 opencv4nodejs 를 연동하고 싶다면, npm을 이용해서 appium을 설치해서 사용해야한다.

(저의 경우는 global로 설치했습니다.)

 

Step. 2

npm install appium@1.15.1 -g

 

(포스트 작성 기준으로 1.17.1 버전이 최신이지만, 특정 시스템에서 (넥사크로17) 비정상 종료 현상이 자주 발생하는 이슈가 있어서, 1.15.1 버전을 설치했다.)

 

설치 완료 후에 Appium Desktop 처럼 appium 서버를 시작하고 싶다면 CLI (명령프롬프트 or Power Shell) 에서 appium 을 실행하면된다.

 

Step. 3

appium

 

 

 

참고.

Appium Desktop 에서 opencv4nodejs 를 연동하려 한다면,

 

opencv4nodejs version 기준

 

4.16.0 ~ 5.2.0
Cannot read property 'includes' of undefined

 

5.3.0 ~
A dynamic link library (DLL) initialization routine failed

 

Error 를 만나게 된다.

 

 

참고

https://github.com/appium/appium/issues/13152

https://github.com/appium/appium/issues/13850

 

 

OpenCV integrations broken with new version of opencv4nodejs · Issue #13850 · appium/appium

The problem For image-based testing, Appium requires the user have opencv4nodejs installed. With versions 5+, the integration is broken due to API changes (specifically, we no longer have access to...

github.com