Appium的安装与应用

安装

1.pip install appium-python-client

2.安装appium server
https://github.com/appium/appium-desktop/releases
配置完ANDROID_HOME和adb后安装

3.安装JDK
因为我们做安卓自动化,需要用到Android SDK,这个需要JDK
可以cmd+r ,运行一下java -version,查看一下目前电脑中有没有安装java

4.安装AndroidSDK
http://tools.android-studio.org/index.php/sdk
选第一个exe文件
安装参考:
https://blog.csdn.net/weixin_52358204/article/details/125964811?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167992193716800182164541%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167992193716800182164541&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-1-125964811-null-null.142v76pc_search_v2,201v4add_ask,239v2insert_chatgpt&utm_term=androidsdk%E4%B8%8B%E8%BD%BD&spm=1018.2226.3001.4187

最后只要把D:\tools\platform-tools ,添加到系统环境变量的path中就行了
cmd + r 验证一下 adb --version

  1. 安装逍遥模拟器
    下载地址:http://www.42xz.com/soft/217.html
    安装好以后,点击三条杠,系统配置,选择低配。。。。
    显示 选择 手机
    点击确定 立即重启

使用

1.打开逍遥模拟器
2. 把测试apk装上,直接拖拽
3. 安装成功后,我们要通过adb命令连接逍遥模拟器
cmd+r
adb connect 127.0.0.1:21503 (21503是逍遥模拟器默认端口)
提示successfully
tips:
如果这时候报错,可以后台看一下,关掉游侠模拟器进程,然后再连接

  1. 打开pycharm,代码准备好
from appium import webdriver


desired_caps = {
    'platformName':'Android',  # 被测试手机是安卓
    'platformVersion':'7',      # 手机安卓版本
    'deviceName':'deviceName',  # 设备名,安卓手机可以随便填写
    'appPackage':'',            # 启动 APP Package名称
    'appActivity':'',           # 启动 Activity名称
    'unicodeKeyboard':'',       # 使用自带输入法,输入中文时填True
    'resetKeyboard':'',         # 执行完程序恢复原来输入法
    'noReset':'',               # 不要重置APP
    'newCommandTimeout':6000,
    'automationName':''
}

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

driver.implicitly_wait(5)
time.sleep(5)
driver.find_element_by_xpath('//android.widget.TextView[@text="归路"]').click()
time.sleep(5)
score = driver.find_element_by_id('com.fn.fengniao:id/tv_score').text
# driver.find_element('com.fn.fengniao:id/ll_search').send_keys('狂飙')
# time.sleep(1)
# driver.find_element('com.fn.fengniao:id/tv_cancel').click()

print(score)

其中如何获取appPackage、appActivity,
方便起见,我们只记一种方法:
现在模拟器中打开app,
命令行中执行: adb shell dumpsys window w | findstr / | findstr name=
得到:

C:\Users\frank>adb shell dumpsys window w | findstr / | findstr name=
mSurface=Surface(name=com.fn.fengniao/com.fn.fengniao.SplashActivity)

包名:com.fn.fengniao
activity:com.fn.fengniao.SplashActivity

  1. 打开appium server,直接start server

  2. 那么模拟器中元素怎么定位呢?
    我们使用appium inspector这个工具来进行元素定位
    先把我们代码中的desired_cap信息填入appium inspector的Desired Capabilities中:
    在这里插入图片描述

    tips:运行appium inspector时候报错:
    Failed to create session. The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource
    解决:
    远程主机:需要填写AppiumServer服务的主机地址,默认127.0.0.1
    远程端口:需要填写AppiumServer服务的主机端口,默认4723
    远程路径:appium服务器的路径,默认填写/wd/hub在这里插入图片描述

移动端定位元素方式:
根据ID:
安卓中的ID也是唯一的,用id定位效率最高,但是在安卓中的id是指resource-id。

根据class:
值得一提的是xpath我们在安卓中写的是://类名[@属性名=属性值]

其他用的比较少了,我就不细说了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值