Wyszukaj / o blogu

Appium wprowadzenie

Opublikowano ndz 19 grudnia 2021 w qa • 2 min read

appium

Instalacja:

    > brew install node      # get node.js
    > npm install -g appium  # get appium
    > npm install wd         # get appium client
    > appium &                # start appium
    > node your-appium-test.js # run your test

Pierwsze uruchomienie być może będzie wymagało -> Edit configurations -> podanie Android_Home (u mnie: /Users/user_name/Library/Android/sdk) + Java_Home (wpisz w terminal: /usr/libexec/java_home)

Instalacja Appium inspector

Appium inspector

Jeśli jest problem z otwarciem na Mac to przesunąć do docka i statąd prawym i Open (teraz powinno działać)

Desired Capabilities for Appium Inspector:

Desired Capabilities are keys and values encoded in a JSON object, sent by Appium clients to the server when a new automation session is requested

więcej na temat desired capabilities

Jak wypełnić JSONa z desired capabilities?

Aby dostać listę dostępnych oraz ich UDID urządzeń wpisz:

adb devices

Aby dostać package name aplikacji oraz pozostałe dane wpisz:

adb shell dumpsys window windows

szukaj informacji o aplikacji w konsoli

mFocusedApp=AppWindowToken{xx token=Token{xxx ActivityRecord{xx u0 xxxx-PackageName/xxx-ActivityName t1450}}}
mInputMethodTarget=Window{xxx u0 xxxx-PackageName/xxx-ActivityName}

aby uzyskać info o podłączonych telefonach wpiszania

adb devices -l

Natomiast aby dostać szczegółowe info na temat danego telefonu to wówczas używając

adb -s <UDID telefonu> shell getprop

Przykładowy pakiet podanych informacji wygląda tak

{ "appPackage": "com.code2lead.kwad", "appActivity": "com.code2lead.kwad.MainActivity", "platformName": "Android", "deviceName": "Pixel 3XL", "udid": "8AHY0L4F9" }

Remote path może wymagać podążania

/wd/hub

Pierwszy test

  from appium import webdriver

  # Part 1 "Desired Capabilities"
  desired_caps = {}
  desired_caps['platformName'] = 'Android'
  desired_caps['automationName'] = 'UiAutomator2'
  desired_caps['platformVersion'] = '7.0'
  desired_caps['deviceName'] = 'WAS-LX1'
  desired_caps['appPackage'] = 'com.code2lead.kwad'
  desired_caps['appActivity'] = 'com.code2lead.kwad.MainActivity'

  # Part 2 "WebDriver object"
  driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

  # Part 3 "Action on the App"

  # find element by id and click
  ele_id = driver.find_element_by_id("com.code2lead.kwad:id/TabView")
  ele_id.click()

  # find element by Index value
  elem_index = driver.find_element_by_android_uiautomator('UiSelector().index(5)')
  elem_index.click()