Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Какой capabilities я должен задатьа в appium чтобы протестировать native app?

python
mobile
appium
Теги: #<Tag:0x00007f7b6d5b87a0> #<Tag:0x00007f7b6d5b8638> #<Tag:0x00007f7b6d5b84f8>

#1

Я использую python для своих тестов на appium. Я могу протестировать browser но с нативными приложениями, что то плохо. Это мой тест для браузера:

import unittest
from appium import webdriver

class SimpleTest(unittest.TestCase):

    def setUp(self):
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        desired_caps['deviceName'] = 'f3eb943d'
        desired_caps['browserName'] = 'Chrome'

        self.driver = webdriver.Remote('http://0.0.0.0:4723/wd/hub', desired_caps)

    def tearDown(self):
        self.driver.quit()

    def testOpenPage(self):
        self.driver.get('https://en.wikipedia.org')
        text = self.driver.find_element_by_xpath('//div/h2').text
        self.assertEquals(text, "Today's featured article")


if __name__ == '__main__':
    unittest.main()

Но вот с нативнм придложением я не магу понять что я ему должен прописать в capabilities:

desired_caps['app'] = ???

Например я хачу протестировать апликацию whatsapp


#2

я пробовал только для ios
я ставил только,


platformName
platformVersion
deviceName
app

platformName = Android
platformVersion = Android version
deviceName = Sansung …
app = path to app

Но может кто активно пишет под андроид - поправит меня.


#4

Да но что я пишу в path to app? От куда я могу взять сам путь??


#5

это путь к самой аппе. например у меня в маке было

“app”: “/Users/alexandrpolishchuk/Library/Developer/Xcode/DerivedData/Calculator-anfzoxkukfwxcdgkadxzdglxaxdv/Build/Products/Debug-iphonesimulator/Calculator.app”

вот я описывал про ios если вдруг


#6

А если аппликация на самом аппарате?


#7

вообще - я не оч експерт по мобильной автоматизации - но я помню что твое приложение должно устанавливаться до теста на девайс или эмулятор. это как бы тоже часть теста.


#8

Я хочу протестировать аппликацию которая уже установлена на аппарате. Я пользуюсь UI Automator я вижу апликацию и вижу елементы, но как к этой апликации дайте не знаю…но всё равно спасибо за ответ…может у кого нибуть будут ещё советы


(Black Box Blues) #9

У меня капы для тестирования нативного приложения на эмуляторе Андроид выглядят в среднем так:

samsung_galaxy_S8_API26 = {
            "platformName": "Android",
            "platformVersion": "8.0",
            "deviceName": "Android Emulator",
            "avd": "SmsGalaxyS8_API26",
            "app": "/Users/user/Desktop/app-debug.apk",
            "connectHardwareKeyboard": False,
            "appPackage": "com.myapp.android",
            "appActivity": "com.myapp.android.activities.MainActivity"
            }

А вообще, тут список всех возможных капов: https://appium.io/slate/en/master/?ruby#appium-server-capabilities


(Alex M) #10

Просто укажите appPackage и appActivity - путь не нужно указывать. Эти штуки можно взять с кода приложения (если есть доступ) или установив приложение какое-то с АппСтора (типа Activity Launcher).

Activity Launcher покажет вам активити и пекедж для приложений на телефоне\планшете.


#11

Спасибо за ответ!


(Александр) #13

В данной статье рассказано как найти необходимые активити и пэкедж.