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

发布于:2025-04-08 ⋅ 阅读:(37) ⋅ 点赞:(0)

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

环境这里使用的是:

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
                            

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

    这里我点击”团购“的图标:

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

    定位到搜索元素


    点击 Tap 按钮

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

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


    7. 输入文本
    在上述的搜索输入框中输入“高考”


    点击发送Send Keys

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


    8. 清空文本
    定位到搜索输入框,点击清空 Clear

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


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

    步骤:

    选择一个属性:id(resource-id),name(text),xpath,className(class)等
    输入属性对应的值
    点击Search
    显示搜索结果


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

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

    步骤

    先点击滑动的起始位置(会显示一个圆圈)
    按住鼠标一直拖到到滑动结束的位置
    松开鼠标这时候就开始执行滑动操作


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

    1、将窗口操作模式修改为Tap/Swipe By Coordinates。
    2、上方点击Start Recording。
    3、选择自动化脚本语言。


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


                           

    参考:

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


    网站公告

    今日签到

    点亮在社区的每一天
    去签到