(appium+python)UI自动化_07_UI自动化实例拼多多搜索商品为例

Posted 测试一枝花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(appium+python)UI自动化_07_UI自动化实例拼多多搜索商品为例相关的知识,希望对你有一定的参考价值。

前言

初学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)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

以上是关于(appium+python)UI自动化_07_UI自动化实例拼多多搜索商品为例的主要内容,如果未能解决你的问题,请参考以下文章

Appium-python-UI自动化之自动获取devicesd,version,package,appActivity

appium+python搭建自动化测试框架_Appium元素定位

appium+python自动化33-解锁九宫格(TouchAction)

appium自动化测试环境部署_Android

appium+python搭建自动化测试框架_TestAPP框架

APPIUM API整理(python)---元素查找