Appium的学习总结-Inspector参数设置和界面使用(5)

环境搭建好后,怎么使用呢?

环境这里使用的是:

Appium的Server端GUI 22版本

Inspector需要单独下载安装,GUI里并没有集成。

(使用Appium v1.22.0,查看元素信息需要另外安装下载Appium Inspector)

操作:

Server端:需要Edit Configure:将JDK和Android SDK的环境路径写进去。Start Server

Inspector端:

Inspector 的参数如何获取:

platformName: 指定移动设备平台的名称,例如 Android 或 iOS。必填参数。
deviceName: 指定移动设备的名称。必填参数。
appPackage: 指定应用程序的包名。必填参数。
appActivity: 指定应用程序的启动页面名称。必填参数。

platformVersion: 指定移动设备的操作系统版本。可选参数。

app: 指定要安装到设备上的应用程序文件的路径。可选参数。

noReset: 指定是否在每次启动应用程序时重置应用程序的状态。可选参数,默认为 false。

skipDeviceInitialization: 跳过初始化操作

automationName: 指定 Appium 使用的自动化测试框架的名称。可选参数,默认为 Appium。

udid: 指定移动设备的唯一设备标识符。可选参数。

newCommandTimeout: 指定新命令的超时时间,以毫秒为单位。可选参数,默认为 60 秒。

autoGrantPermissions: 指定是否在启动应用程序时自动授予所有权限。可选参数,默认为 false。

unicodeKeyboard: 指定是否启用 Unicode 输入法,用于支持非英语语言的输入。可选参数,默认为 false。

resetKeyboard: 指定是否在测试结束后重置输入法设置。可选参数,默认为 false。

fullReset: 指定是否在测试结束后完全重置应用程序的状态和数据。可选参数,默认为 false。

browserName: 指定要在设备上启动的浏览器的名称。可选参数。

chromeOptions: 指定要传递给 Chrome 浏览器的选项。可选参数。

safariAllowPopups: 指定是否允许 Safari 浏览器弹出窗口。可选参数,默认为 false。

nativeWebTap: 指定是否在原生应用中使用原生的 web 点击事件。可选参数,默认为 false。

disableWindowAnimation: 指定是否禁用设备窗口动画。可选参数,默认为 false。

ignoreUnimportantViews: 指定是否忽略屏幕上的不相关视图,以加速测试执行。可选参数,默认为 false。

androidScreenshotPath: 指定 Android 设备上截图的存储路径。可选参数。

networkSpeed: 指定模拟设备的网络速度。可选参数。

这里我的一个小米真机调试的Demo:

{

"platformName": "Android",

"appium:platformVersion": "14", #这里需要通过

"appium:deviceName": "e3691", # 自己设备名称,需要更改

"appium:appPackage": "com.sankuai.meituan", #测试的美团

"appium:appActivity": "com.meituan.android.pt.homepage.activity.MainActivity", # 页面名字

"appium:automationName": "UiAutomator2"

}

在inspector的页面save,导入到左侧

appium:platformVersion",怎么获得:

adb shell getprop ro.build.version.release

14

deviceName:怎么获得:adb devices

这里的包名appPackage和页面名appActivity怎么获得:

执行> adb logcat>D:/log.txt (log.txt的路径需要根据自己的设置)

我实际用的是mac:adb logcat>/Users/yang/Desktop/test/2.docx

如果你电脑连接了两个或以上的模拟器,你需要指定模拟器设备名,来下载你指定的模拟器App包

命令:

复制代码
adb -s <设备名> logcat

这里指定一台模拟器,将app log下载到本地

3, 胡乱的对APP做一些操作。

4, Ctrl+c 结束adb命令。

5, 打开log.txt文件,搜索:Displayed

这里我们就获取到了想要的appPackage和appActivity

appPackage: com.tencent.android.qqdownloader

appActivity:com.tencent.assistant.activity.SplashImplActivity

原文链接:https://blog.csdn.net/mtbaby/article/details/78676477

接下来:start seesion 报错两个

这里我是小米真机调试:

USB安装

报错信息:

java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS

小米:在开发者选项里,把"USB调试(安全设置)"打开即可。 允许USB调试修改权限或模拟点击

接着:USB安装也要打开,允许通过USB安装应用,这两个报错就都没了。

【手机上会自动安装Appium Settings 应用(安装好不要卸载)】

点击Start Session后,会自动安装依赖应用,并打开测试APP。

界面如下:

  • 左侧是应用程序的屏幕截图(快照视图)。
  • 中间是应用程序的层次结构,表示为XML。
  • 右侧是元素信息视图
  • 查看应用程序的屏幕布局和元素层次结构。
  • 识别和选择屏幕上的元素,例如按钮、文本框、菜单等。
  • 获取元素的属性和文本内容。
  • 模拟用户操作,例如点击、滑动、输入文本等。
  • 检查应用程序的状态和断言结果。

基本操作:

1. 刷新

当我们在手机上对APP进行操作后,Inspector窗口的屏幕截图不会自动更新,需要我们通过点击刷新按钮,更新应用的最新页面

2. 操作回退

当我们想要查看返回上一个操作查看页面信息,可以通过点击back 按钮。此时Inspector窗口和手机都会同时回到上一个操作的界面。(等同于android手机上的返回键)

3. 退出

当我们不再需要使用Inspector,就可以点击x关闭Inspector窗口(调用驱动程序)。退出并关闭Inspector

  1. 查看元素信息

当我们想要查看某一个元素的详细信息,首先需要点击select Elements 按钮,然后在屏幕截图中点击要查看的元素,最后在右侧的区域就可以看到元素的xpath,index,package,class,text,resource-id 等信息。

这里我点击"团购"的图标:

  1. 点击元素

选择一个元素后,可以"点击"元素,当使用一个元素执行Tap操作时,Inspector将发送命令到Appium,执行点击操作。如果操作成功,左侧将生成一个新的屏幕截图,应用程序更新到最新的状态和XML。如果不成功,将看到错误消息。

定位到搜索元素

点击 Tap 按钮

这里我定位到输入框,点击tap就出现这个fail

我这里报错了:对于输入框就报错,对于可点击的图片就可以正常TAP

  1. 输入文本

在上述的搜索输入框中输入"高考"

点击发送Send Keys

我这里也报错了,未解决:

  1. 清空文本

定位到搜索输入框,点击清空 Clear

我这里也报错了,未解决:

  1. 查找元素信息

通过元素的某一个属性值来查看它所对应的元素有哪些,可以点击search for element 按钮。

步骤:

选择一个属性:id(resource-id),name(text),xpath,className(class)等

输入属性对应的值

点击Search

显示搜索结果

  1. Inspector窗口操作界面

点击 Tap/Swipe By Coordinates按钮,我们就不需要在手机上点击操作,可以直接在屏幕截图上使用鼠标来点击元素,手机也会同步操作。

  1. 滑动屏幕

如果想在Inspector窗口的屏幕截图中执行一个滑动屏幕的操作,使用鼠标无法完成,那么我们可以通过Tap/Swipe By Coordinates按钮实现。

步骤

先点击滑动的起始位置(会显示一个圆圈)

按住鼠标一直拖到到滑动结束的位置

松开鼠标这时候就开始执行滑动操作

  1. 录制

可以录制自动化测试脚本,但录制出的脚本都是通过坐标值来操作的,实际工作中意义不大(换一台设备可能就没法执行了)。

录制步骤:

1、将窗口操作模式修改为Tap/Swipe By Coordinates。

2、上方点击Start Recording。

3、选择自动化脚本语言。

在左侧窗口进行点击操作即可录制自动化脚本。

参考:

https://blog.csdn.net/m0_64598636/article/details/136635804

相关推荐
qq_452396232 天前
第十八篇:《移动端UI自动化:Appium入门实战》
ui·appium·自动化
x-cmd5 天前
agent-browser 源码分析(四):Chrome 进程管理与多 Backend
chrome·appium·进程管理·webdriver·agent-browser
阿祖_in_coding11 天前
混合App(Hybrid App)自动化测试理解
appium
returnthem18 天前
安装Appium
appium
seabirdssss23 天前
Appium 在小米平板上的安装受限与闪退排查
android·appium·电脑
小陈的进阶之路1 个月前
Selenium 滑动 vs Appium 滑动
python·selenium·测试工具·appium
小陈的进阶之路1 个月前
Appium 自动化测试笔记
笔记·appium
linglan4281 个月前
APPium环境配置
appium·自动化
lifewange1 个月前
Appium是什么
appium·压力测试
柚子+1 个月前
Appium+python+雷电模拟器自动化测试入门
数据库·python·appium