appium--desktop

简介: appium--desktop

appium desktop简单使用


下载地址https://github.com/appium/appium-desktop/releases

 

Appium Desktop与Appium不是同一个东西。Appium Desktop是对于Appium而言,是一个拥有更多相关工具的图形化界面。

安装完直接启动,启动成功是如下的页面

 

点击start server启动一个服务

 

左下角的链接是文档说明,可以查看相对应的文档。

设备id和appPackage,appActivity都可以通过adb devices获取(可以看我的adb文章),如果是模拟器,需要先连接

如果没有安装,需要在增加一个参数app,后面放app的绝对路径

这样配置好之后,就会自动打开我们的app,启动之后,会打开一个页面,这个页面可以帮助我们分析各个元素的属性等等内容

我们选中开启,单击tap就会进入下一步

温馨提示:如果页面和手机的页面没有同步,点击刷新按钮


录制脚本


appium--desktop提供了我们录制脚本的功能,就像selenium的录制脚本一样

启动appium desktop之后,开始录制

选择一个控件之后,点击tap,就会在上面出现一行代码,录制完成之后,点击右上角的 Show/Hide Boilerplate Code在点击复制,这样就把我们录制好的脚本转成了对应语言的脚本

把录制好的脚本放到pycharm里,加以改造,加上隐式等待,要不然会报错

1 # This sample code uses the Appium python client
 2 # pip install Appium-Python-Client
 3 # Then you can paste this into a file and simply run with Python
 4
 5 from appium import webdriver
 6
 7 caps = {}
 8 caps["platformName"] = "Android"
 9 caps["deviceName"] = "CLB0219314000452"
10 caps["appPackage"] = "com.xueqiu.android"
11 caps["appActivity"] = ".view.WelcomeActivityAlias"
12 caps["platfromVersion"] = "9.0.0"
13
14 driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
15 driver.implicitly_wait(15)
16 el1 = driver.find_element_by_id("com.XXX")
17 el1.click()
18 el2 = driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button")
19 el2.click()
20 el2.click()
21 el3 = driver.find_element_by_xpath("/hierameLayout/android.wid")
22 el3.click()
23
24 driver.quit()

这样我们就可以使用pycharm启动我们的脚本了


自动允许权限


上面脚本有四个点击事件,其中前面的三个点击事件是允许权限的,我们可以设置 autoGrantPermissions为True,在来改动我们的脚本

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
caps = {}
caps["platformName"] = "Android"
caps["deviceName"] = "CLB0219314000452"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["platfromVersion"] = "9.0.0"
caps["autoGrantPermissions"] = True  # 设置自动授权权限
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
driver.implicitly_wait(15)
el3 = driver.find_element_by_xpath("/t.FrameLayout[1]/androidget.ImageView")
el3.click()
driver.quit()

设置了autoGrantPermissions为True之后,我们就可以把前面的三个点击事件去掉,这样就会自动授权,不需要我们手动授权了


相关文章
|
XML Java 测试技术
『App自动化测试之Appium应用篇』| 元素定位工具Appium-Inspector从简介、安装、配置到使用的完整攻略
『App自动化测试之Appium应用篇』| 元素定位工具Appium-Inspector从简介、安装、配置到使用的完整攻略
2809 3
|
编解码 Linux Android开发
安卓投屏神器 Scrcpy 安装与使用(支持 Mac、Windows、Linux)
安卓投屏神器 Scrcpy 安装与使用(支持 Mac、Windows、Linux)
52569 1
|
JavaScript Java 测试技术
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
5598 0
|
Web App开发 小程序 前端开发
微信小程序自动化测试最佳实践(附 Python 源码)
本文主要分享下微信小程序自动化测试的一些最佳实践心得,包括微信小程序的基本测试技术和操作方法,以及如何利用 Appium 的 WebView 测试技术 + adb proxy 完成微信小程序的自动化测试(可能是目前最实用的小程序自动化测试技术),并附上 Python 版源码。
微信小程序自动化测试最佳实践(附 Python 源码)
|
SQL 关系型数据库 MySQL
大厂面试官:聊下 MySQL 慢查询优化、索引优化?
MySQL慢查询优化、索引优化,是必知必备,大厂面试高频,本文深入详解,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
大厂面试官:聊下 MySQL 慢查询优化、索引优化?
|
自然语言处理 安全 Java
【软件测试】教你如何写一份软件测试报告
【软件测试】教你如何写一份软件测试报告
Appium设置会话时长,解决调试代码时session失效的问题
Appium设置会话时长,解决调试代码时session失效的问题
534 0
|
Java 开发工具
开发工具系列 之 同一个电脑上安装多个版本的JDK
这篇文章介绍了如何在一台电脑上安装和配置多个版本的JDK,包括从官网下载所需JDK、安装过程、配置环境变量以及如何查看和切换当前使用的JDK版本,并提到了如果IDEA和JDK版本不兼容时的解决方法。
开发工具系列 之 同一个电脑上安装多个版本的JDK
|
Web App开发 API C语言
C语言图形界面库的研究与应用
C语言图形界面库的研究与应用
540 1
|
测试技术 Android开发 移动开发
SoloPi:支付宝 Android 专项测试工具 | 开源
本文主要介绍支付宝在移动端上实现的一套无线化、非侵入、免 Root 的 Android 专项测试方案 SoloPi。直接操控手机,即可实现自动化的功能、性能、兼容性、以及稳定性测试等工作。
3762 0