appium 执行demo

appium很早就了解了,一直没有之际操作过,最近把官网的demo搞下来执行了一遍,还是很有意思的

经过测试是可以跑起来的,不过跑得过程中,输入法需要默认为英文的,如果是中文的码输入的时候有点问题,可以自行体验

import os
from selenium import webdriver

# Returns abs path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
    os.path.join(os.path.dirname(__file__), p)
)
"""
desired_caps = {}
desired_caps['automationName'] = 'Appium'
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = 'sunx'
desired_caps['version'] = '4.4.2'
desired_caps['app'] =PATH('D:\ContactManager.apk')
desired_caps['appPackage'] = 'com.example.android.contactmanager'
desired_caps['appActivity'] = '.ContactManager'
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True

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

el = driver.find_element_by_name("Add Contact")
el.click()

textfield = driver.find_element_by_id("com.example.android.contactmanager:id/contactNameEditText").send_keys("testest")
textfield = driver.find_element_by_id("com.example.android.contactmanager:id/contactPhoneEditText").send_keys("188888888")

driver.find_element_by_name("Save").click()


driver.quit()

首先是环境配置,网上搜下

然后是启动

输入appium,启动appium服务

然后执行上面的脚本,脚本要注意app的位置,以及初始化中的个参数需要与本机对应

ps:apppackage和activity,怎样获取呢?android有现成的工具,就是他!aapt

adt-bundle-windows-x86-20140321sdkuild-toolsandroid-4.4.2这个目录下的aapt.exe

写个例子:

aapt dump badging D:yourapp.apk,然后查找,我把参数用删除线标记了,填上去就ok了

package: name='com.ma.huoying' versionCode='1' versionName='1.0'
sdkVersion:'3'
application-label:'鐏�奖蹇嶈€?
application-icon-160:'res/drawable-hdpi/browser.png'
application-icon-240:'res/drawable-hdpi/browser.png'
application-icon-320:'res/drawable-hdpi/browser.png'
application-icon-480:'res/drawable-hdpi/browser.png'
application: label='鐏�奖蹇嶈€? icon='res/drawable-hdpi/browser.png'
application-debuggable
launchable-activity: name='com.ma.huoying.MainActivity'  label='鐏�奖蹇嶈€?
icon=''
uses-permission:'android.permission.INTERNET'

元素定位:

appium的元素定位,一般就可以使用adt-bundle-windows-x86-20140321sdk oolsuiautomatorviewer.bat

这个工具来查看层级关系,通过xpath定位或者id神马的,具体看app情况吧

原文地址:https://www.cnblogs.com/xueli/p/4975101.html