(appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】

非 Y 不嫁゛ 提交于 2020-04-24 09:27:14

前言

初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化。小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是如何实现自动化的。

前提:已安装配置好appium+python自动化环境

一、连接手机启动app

1,连接手机

      -手机USB连接电脑

      -手机打开开发者模式、USB调试功能

2,基础信息配置

基础连接信息如下(以叮咚app为例):

'platformName':  操作平台
'deviceName': 设备名称
'platformVersion':系统版本号
'appPackage': apk包名
'appActivity':apk activity
'noReset': 在此会话之前不要重置应用程序状态,即非初始化。参数值:true, false
更多配置参数信息可参考:https://www.cnblogs.com/D666/p/9165086.html

备注:获取设备号/ app包名/activity详情可查看 https://www.cnblogs.com/mini-monkey/p/11691862.html

3,启动appium服务

1,启动appium获取appium服务地址

appium启动页获取host和port,默认配置host:0.0.0.0,port:4723,

即默认appium服务地址为:http://0.0.0.0:4723/wd/hub(若配置其他host&port更新http://后内容为host:port即可)

4,连接设备,启动app

 Remote括号中地址:appium服务地址(步骤3中获取)

二、编写搜索脚本

1,打开定位工具uiautomatorviewer,查看元素属性

关于定位工具的可参考:https://www.cnblogs.com/mini-monkey/p/11819549.html

点击Android adk->tools->automatorviewer

鼠标选中页面元素,右下角查看元素属性

 2,定位元素

元素定位方法可参考:https://www.cnblogs.com/mini-monkey/articles/11836650.htmlhttps://www.cnblogs.com/mini-monkey/articles/11836690.html

appium常用API可参考:https://www.cnblogs.com/mini-monkey/articles/11841354.htmlhttps://www.cnblogs.com/mini-monkey/articles/11841370.html

一般元素id存在时,先根据id定位,其次是class,然后再是xpath、uiautomator等去定位。优先级不一定是这样的,小编一般习惯这样定位,大家可以根据自己的喜好选择定位方式。

叮咚搜索商品加车过程如下:

首页点击搜索框->输入搜索关键词,点击搜索btn->搜索结果页,点击加车btn->点击购物车图标(进入购物车页)

实现搜索加车自动化便可根据以上步骤展开编写,叮咚搜索商品加车脚本如下(以搜索鸡翅为例):

备注:由于app有的页面加载需要时间,可在需要等待的地方添加等待时间。

三、实例代码详情

叮咚搜索加车的总代码如下:

 1 # 叮咚appium实例
 2 from appium import webdriver
 3 from time import sleep
 4 
 5 # 基础信息配置
 6 desired_caps = {
 7     'platformName': 'Android',  # 平台
 8     'deviceName': 'emulator-5554',  # 手机设备名称
 9     'platformVersion': '6.0.1',  # 安卓系统版本号
10     'appPackage': 'com.yaya.zone',  # apk包名
11     'appActivity': 'com.yaya.zone.activity.SplashActivity',  # apk activity
12     'unicodeKeyboard': True,  # 设置编码格式为unicode
13     'resetKeyboard': True,  # 隐藏手机键盘
14     'noReset': True,  # 非初始化
15 }
16 
17 driver = webdriver.Remote('http://0.0.0.0:4723/wd/hub', desired_caps)  # 启动app
18 sleep(5)  # 等待叮咚首页加载【app加载页面有时需加载一段时间,故可在需要加载等待的地方可加上等待时间】
19 
20 driver.find_element_by_id("com.yaya.zone:id/ll_search").click()  # 首页-点击搜索框
21 sleep(1)  
22 driver.find_element_by_id("com.yaya.zone:id/et_what_search").send_keys("鸡翅")  # 输入关键词
23 sleep(1)
24 driver.find_element_by_id("com.yaya.zone:id/btn_cancel").click()  # 点击搜索btn
25 sleep(3)
26 driver.find_element_by_id("com.yaya.zone:id/iv_add_cart").click()  # 搜索结果页-点击加车btn
27 sleep(1)
28 driver.find_element_by_id("com.yaya.zone:id/iv_cart").click()  # 点击购物车btn,进入购物车页
29 sleep(3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!