2.Appium+python自动化-启动淘宝&元素定位uiautomatorviewer

前言   

前面环境已经搭建好了,接下来就是需要启动APP,如何启动app呢?首先要获取包名,然后获取launcherActivity。获取这两个关键东西的方法很多,这里就不一一多说,小伙伴们可以各显神通。小编这里主要给大家推荐一个sdk自带的实用工具aapt.

    aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity,当然还有更多的功能,有兴趣的可以查看相关资料。

一、下载aapt

    1.在android-sdk里面双击SDK-manager,下载buidl-tools

    2.勾选build-tools,随便选一个版本,我这里选的是24的版本

    3.下载完成后,在D:\androidsdk\android-sdk-windows\build-tools\24.0.0目录下找到aapt.exe,将这个路径设置环境变量,添加到path下

    4.打开cmd。输入aapt出现如下界面,说明环境OK了


二、获取apk包名

    1.将准备测试的APK放到D盘某个目录,如D:\test

    2.打开cmd,输入指令aapt dump badging D:\test\xxx.apk(APK的全名,如手机淘宝.apk)

   3.以手机淘宝.apk为例,如下图

    4.这里就可以看到apk的包名:com.taobao.taobao

注:老司机可以直接把apk放在桌面上,输入指令后拖到cmd框


三、获取launcherActivity

    1.接着上一步操作,cmd屏幕拖到中间l找到auncherActivity

    2.这里可以看到,淘宝的launcherActivity值为com.taobao.tao.welcome.Welcome


四、写脚本

    1platformName:这里是android的apk

    2.deviceName:手机设备名称,通过adb devices查看

    3.platformVersion:android系统的版本号

    4.appPackage:apk包名

    5.appActivity:apk的launcherActivity

五、运行appium

    1.启动appium,右上角点三角形按钮,变成正方形,就是启动状态。

    2.确认手机连上电脑

    3.在pycharm运行脚本,随后在手机上会弹出安装下面两个软件的提示,安装后,桌面上多两个图标。那么恭喜你启动成功!

    4.接着会看到淘宝app已经启动

六、最终代码如下

# coding=utf-8

from appium import webdriver

desired_caps = {

                'platformName': 'Android',

                'deviceName': '30d4e606',

                'platformVersion': '5.0',

                # apk包名

                'appPackage': 'com.taobao.taobao',

                # apk的launcherActivity

                'appActivity': 'com.taobao.tao.welcome.Welcome'

                }

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

这个地址是怎么来的呢?

环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作.

uiautomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。

七、启动uiautomatorviewer.bat

    1.打开目录D:\androidsdk\android-sdk-windows\tools

    2.双击启动,启动之后出现如下界面

    3如果不喜欢双击启动的话,也可以在cmd里面通过指令启动

先cd到tools目录下,然后输入uiautomatorviewer.bat回车后启动服务



八、连接手机

    1.cmd打开输入adb devices,确认手机已连上

    2.打开手机淘宝页面,让屏幕处于点亮状态

    3.点左上角安卓机器人按钮Devices Screenshot按钮刷新页面

九、定位元素

    1.移动鼠标到需要定位的元素上,如搜索输入框

   2.右下角可以看到元素对应的属性

text:搭配新宠不能缺

resource-id:com.taobao.taobao:id/home_searchedit

class:android.widget.EditText



十、点搜索框

    1.前面一篇启动app后,休眠五秒,等待页面加载完成

    2.通过id来定位到搜索框,然后点击

# coding=utf-8

from appium import webdriver

import time

desired_caps = {

                'platformName': 'Android',

                'deviceName': '30d4e606',

                'platformVersion': '5.0',

                'appPackage': 'com.taobao.taobao',

                'appActivity': 'com.taobao.tao.welcome.Welcome',

                }

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

# 休眠五秒等待页面加载完成

time.sleep(5)

driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()


十一、元素定位

    1.appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_element_by然后会自动匹配出来

   2.多的三种如下,在后面的会详细介绍

driver.find_element_by_accessibility_id()

driver.find_element_by_android_uiautomator()

driver.find_element_by_ios_uiautomation()

(第三个是ios的可以暂时不用管)


uiautomatorviewer是android sdk自带的,下篇介绍appium自带个元素定位工具

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值