본문 바로가기

Automation41

29CM QA팀이 AI와 협업을 위해 AI Locator를 구현하여 얻은 효과 본 포스팅은 Medium에 먼저 기제되었습니다. 지금 사용하고 있는 All Locator29CM QA팀은 Appium으로 iOS와 Android 테스트 자동화를 수행하고 있습니다. 이 과정에서 작성의 편의성을 위해 All Locator를 구현해 놓고 사용하고 있는데요 이것은 Playwright의 .locator() 와 유사한 기능을 가지고 있습니다.playwright에 .locator()는 아래와 같이 선택자 구분없이 모든 선택자를 수용하여 편리한 사용이 가능합니다.page.locator("text=로그인") # 텍스트 기반page.locator("#username") # ID 기반page.locator("//button[@id='submit']") # XPath 기반page.locator("r.. 2025. 3. 6.
Appium Setting을 위한 Path 정리 (2.0 이상) MacOS에서 .bash_profile에 추가하는 것을 기준으로 합니다. 제가 자꾸 까먹어서 기록으로 남겨놓기위함입니다 ㅎㅎ JAVA_HOME (jdk 17버전 기준)export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home  ANDROID_HOME export ANDROID_HOME=/Users/mpark/Library/Android/sdk  ANDROID_HOME/platform-tools $ANDROID_HOME/platform-tools  APPIUM_HOME APPIUM_HOME=/Users/mpark/.appium Appium webdriveragent 파일 위치/Users/mpark/.appium/node_modul.. 2024. 11. 27.
Appium WebdriverAgent 빌드시 발생하는 Parameter of overriding method should be annotated with __attribute__((noescape)) 에러 해결하기 iOS 17으로 올라가면서 xcode업데이트를 위해 macOS를 14버전대인 Sonoma로 올려야 했습니다. 이 과정에서 다량의 기기에 업데이트가 진행되는데요 한 기기만 업데이트 해도 호환성 이슈가 생길 수 있는데 아이폰, 테스트 자동화 진행 머신, 해당 머신에 설치된 xcode까지 모두 업데이트를 하니 문제가 생길 수 있습니다. 저도 제 업무용 맥북에는 예전부터 sonoma를 사용했지만 자동화 머신은 최근에 macOS 업데이트를 했더니 Parameter of overriding method should be annotated with __attribute__((noescape)) xcode에서 WebdriverAgent 빌드할때 위와 같은 에러가 발생했습니다. 해결을 위한 방법 먼저 바로 설명하자면 A.. 2024. 4. 17.
Chrome driver 115버전 이후 버전 다운 크롬드라이버를 다운받는 사이트에는 현재 최신버전이 114 버전으로 되어있습니다. ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for specific ChromeDriver version downloading. For older versions of Chrome, please se chromedriver.chromium.org 하지만 지금 최신 크롬버전은 120 버전.. 2024. 3. 13.
AppiumService가 시작되지 않을때 해결법 (WebDriver.__init__() got an unexpected keyword argument) 새 기능들을 테스트 해보려고 Appium Driver나 Appium의 버전을 올려서 이것저것 실험을 할 때가 있습니다. Selenium도 마찬가지인데요, 업그레이드만 해 놓고 한동안 사용하지 않다가 오랜만에 사용할때 문제가 생기면 참 난감합니다. 이번에도 이 문제가 발생하면서 AppiumService가 실행되지 않았습니다. WebDriver.__init__() got an unexpected keyword argument 'desired_capabilities' 응? 'desired_capabilities' 는 구버전에서 사용하던 것인데 왜 이 에러가?.... 이럴때는 역시 근 to the 본 구글링을 해줍니다. 찾아보니 이런 문제는 오래전부터 다른분들이 겪었던 이슈였는데 이 문제는 Selenium 버전.. 2024. 3. 6.
Appium 2.0 uiautomator2 에서 세션종료시 앱 종료하기 기존 Appium 1.x대에서는 terminate_app() 을 사용했었지만, Appium 2.x 에서는 해당 동작이 수행되지 않아 다른 방법이 필요했습니다. 자료를 찾다보니 2023년 4월에 해당 기능이 업데이트 되었었네요! GitHub - appium/appium-uiautomator2-driver: Appium driver for Android UIAutomator2 Appium driver for Android UIAutomator2. Contribute to appium/appium-uiautomator2-driver development by creating an account on GitHub. github.com uiautomator2 드라이버 버전이 2.15 이상이시라면 사용 하실 수 있.. 2024. 2. 28.