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

前言

初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化。小编在初期学习的时候也有这种疑惑,在此以拼多多搜索为实例,展示下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:127.0.0.1,port:4723,

即默认appium服务地址为:http://127.0.0.1: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等去定位。优先级不一定是这样的,小编一般习惯这样定位,大家可以根据自己的喜好选择定位方式。

拼多多搜索商品过程如下:

首页点击搜索tab->点击搜索框->输入搜索关键词,点击搜索btn(进入搜索结果页,展示搜索结果)

实现搜索自动化便可根据以上步骤展开编写,拼多多搜索商品脚本如下(以搜索T恤为例):

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

三、实例代码详情

拼多多搜索商品的总代码如下:

#appium拼多多搜索商品实例from appium import webdriverfrom time import sleep

#基础配置desired_caps = {    ‘platformName‘: ‘Android‘,  # 平台    ‘deviceName‘: "emulator-5554",  # 手机设备名称    ‘platformVersion‘: "6.0.1",  # 安卓系统版本号    ‘appPackage‘: ‘com.xunmeng.pinduoduo‘,  # apk包名    ‘appActivity‘: ‘com.xunmeng.pinduoduo.ui.activity.MainFrameActivity‘,  # apk activity    ‘unicodeKeyboard‘: True,  # 设置编码格式为unicode    ‘resetKeyboard‘: True,  # 隐藏手机键盘    ‘noReset‘: True  # 非初始化}

driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘, desired_caps)  # 启动appsleep(5) #等待淘宝首页加载【app有时加载数据有时需加载几秒,故在需要加载等待的地方可加上等待时间】

driver.find_elements_by_id("com.xunmeng.pinduoduo:id/cne")[2].click() #首页_点击底栏搜索tabsleep(2) #等待页面跳转driver.find_element_by_id("com.xunmeng.pinduoduo:id/bf1").click() #点击搜索框进入搜索页driver.find_element_by_id("com.xunmeng.pinduoduo:id/mr").send_keys("T恤") #输入关键字T恤sleep(2)driver.find_element_by_id("com.xunmeng.pinduoduo:id/bfa").click() #点击搜索btn

原文地址:https://www.cnblogs.com/mini-monkey/p/11854012.html

时间: 2024-10-10 17:28:20

(appium+python)UI自动化_07_UI自动化实例【拼多多搜索商品为例】的相关文章

(appium+python)UI自动化_10_adb常用命令

前言 adb(Android Debug Bridge)工具是android-sdk里的一个工具,是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互.在app自动化测试过程中,有时要用到adb命令,但是每次都要百度感觉很是繁琐,故总结了下app自动化过程中几个常用的adb命令. adb常用命令 获取设备号 $ adb devices  下载apk 前提:需下载apk至电脑 $ adb install <电脑apk路径> 卸载apk $ adb uninstall <apk包名>

Appium + python - swipe滑屏操作实例

方法一: from appium import webdriverfrom time import sleep descred_caps = { "platformName":"Android", "platformVersion":"5.1.1", "deviceName":"127.0.0.1:62001", "appPackage":"com.baid

公众号搭建淘宝、京东、拼多多查券平台

双十一之前终于把淘宝客公众号搭建好了,虽然耗时不少,但还是蛮有成就感的,能不能赚钱就另外一回事了. 我这里用到了淘宝联盟api权限.拼多多平台接口api.京东申请比较麻烦就没有申请,所以京东使用了第三方免费接口,各联盟账号api权限申请我就不赘述了,有疑问的话可以在下面留言,或加我微信公众号"网购有券"联系我. 淘宝找券实现 原理: 通过用户手淘分享的商品信息,信息中包含商品关键字和链接,使用商品关键字通过淘宝 通用物料搜索API 接口查询一批商品: 然后通过分享信息中的淘宝链接htt

Appium appium+Android+selenium+python web 自动化 / 手机自动化 [分享] (windows)

前期准备 1.windows操作系统2.python3.53.selenium4.chrome浏览器5.chrome浏览器驱动6.pycharm7.appium8.JDK9.SDK10.安卓模拟器(genymotion)或真机11.任意apk12.使用安卓模拟器genymotion需要virtual box(个别的会补充,软件版本自己随意) 一.知识补充(1) Appium介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及

Appium + python自动化 - 启动app

各种百度将Appium + python的环境搭建好后,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧! 如何启动app呢?首先要获取包名,然后获取launcherActivity.获取这两个关键东西的方法有很多,在这里推荐一个sdk自带的实用工具aapt:aapt即Android Asset Packaging Tool,在SDK的build-tools目录下.该工具可以查看apk包名和launcherActivity,当然还有更多的功能,有兴趣的可以查看

Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP

前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itools安装.对于没有iPhone真机的小伙伴,想在iOS模拟器上安装app测试可不是那么容易的事情. 一.启动iOS Simulator 1.Xcode>Open Developer Tool>iOS Simulator,打开后在hardware里面选对应的iPhone版本就能启动模拟器了 2.第二

Appium+python自动化22-Appium Desktop【转载】

Appium Desktop 原滋原味的官方文档 Appium Desktop是一款用于Mac.Windows和Linux的开源应用,它提供了Appium自动化服务器在一个漂亮灵活的UI中的强大功能.它是一些与appium相关的工具的组合: Appium服务器的图形界面.您可以设置选项.启动/停止服务器.查看日志等-您也不需要使用Node / NPM安装Appium,因为节点运行时将与Appium桌面绑定. 您可以使用一个检查器来查看应用程序的元素,了解它们的基本信息,并与它们进行基本的交互.这

Appium+python自动化

名称 链接地址 Appium+python自动化8-Appium Python API(上) http://mp.weixin.qq.com/s/WvpT5oRrYY22avI95FuypQ Appium+python自动化8-Appium Python API(下) http://mp.weixin.qq.com/s/rGWWf9m9-6n-J7KaGVlqoA Appium+python自动化9-SDK Manager http://mp.weixin.qq.com/s/wGyfXAwJ9M

appium+python自动化50-生成定位对象模板templet(jinja2)

前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以选择:templet和mako 简单来说,本篇实现的目的是用代码去自动生成代码,做到代码自动化 接着上一篇讲:appium+python自动化49-yaml管理定位元素 jinja2简介 1.jinja2官方文档:官方文档 要了解jinja2,那么需要先理解模板的概念.模板在Python的web开发