欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【自动化测试】—— Appium使用保姆教程

【自动化测试】—— Appium使用保姆教程

2025/1/22 16:43:11 来源:https://blog.csdn.net/qq_22964783/article/details/145284317  浏览:    关键词:【自动化测试】—— Appium使用保姆教程

目录

一. 连接手机

1. 授权

2. 调试

3. 获取参数

二. 启动APP

1. 启动Appium服务

2. 启动Appium Inspector

3. 配置Appium Inspector

三. 功能说明

1. 主菜单功能

2. 快照视图菜单

3. 元素视图菜单

四. 常见问题

1. appPackage有多个设备时


一. 连接手机

1. 授权

首先将手机的开发者模式打开,不同手机的开启方法不同,这里演示的测试机为三星S21+,其他机型的开启方法大家可以直接百度搜索。

(1)进入手机的【设置】选项

(2)进入【开发者选项】

(注:不同手机这里打开方式不一样,一般手机在【关于手机】里找到【版本号】,连续点击【版本号】7次,即可进入开发者模式。

(3)打开【USB调试】:在<开发者选项>页,滑动找到【USB调试】,打开USB调试

2. 调试

    (1)使用数据线连接上手机,如果手机上弹出“是否允许USB调试?”确认框,点【确定】即可。

    (2)在电脑键盘上按【Win+R】,输入cmd打开命令行窗口,输入:adb devices

    如果连接成功就可以看到你的手机deivce id

    注:如果出现device not found,优先检查手机的驱动是否安装正确,也可以到【设备管理器】中去查看对应的设备驱动是否异常,这里推荐使用adb driver installer这个软件来安装对应的设备驱动。

    3. 获取参数

      我们想要通过Appium来运行相关APP,需要获取与其相关的几个参数(后面会用到):

      • platformName:设备的平台名,Android或iOS。
      • platformVersion:Android内核版本号。
      • deviceName:设备名,这里使用刚才ADB里的device id或deviceName。
      • appPackage:apk的包名,在Android系统中是判断一个App的唯一标识。
      • appActivity:这里可以理解为启动名或启动页。

      (1)查看源代码

      这里推荐这种方法,如果被测对象是自研的APP,直接问下对应开发同学,这两个参数的值就可以啦,省时省力。

      (2)使用ADB命令

      连接手机,打开想操作的APP,在cmd中输入以下命令获取参数

      查看platformVersionadb shell getprop ro.build.version.release

      查看deviceName:adb devices -l

      查看appPackage和appActivity

      adb shell "dumpsys window | grep mCurrentFocus"

      二. 启动APP

      1. 启动Appium服务

        动Appium-Server,并且保持连接手机。

        2. 启动Appium Inspector

          新版appium1.22与Appium inspector分离,需要单独下载Appium-Inspector安装

          1下载

          网盘下载地址https://pan.quark.cn/s/2670cddd46d0

          2安装

           下载好之后如下,双击执行即可

          3运行

          安装成功后,启动后界面如下:

          3. 配置Appium Inspector

            我们要启动APP就需要在Capability Builder区域中填写对应APP的启动参数。

            (1)点击【+】按钮,添加属性

            (2)Appium Server按默认写(Remote Host:127.0.0.1,RemotePort

            :4723,Remote Path:/wd/hubCapabilityBuilder填入之前获取的各项参数

            (3)点击【Start Session】,启动APP

            (4)启动时会在测试手机上自动安装依赖应用,启动完成后会自动打开测试APP,并且在Inspector上显示与APP同步的画面【手机上自动安装的Appium Settings 应用安装好不要卸载】

            • 左侧是应用程序的屏幕截图(快照视图)。
            • 中间是应用程序的层次结构,表示为XML。
            • 右侧是元素信息视图

            . 功能说明

            1. 主菜单功能

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

              】Press Home Buttor/返回主屏幕:从当前应用或界面返回手机主屏幕。

              】Press App Switch Button/应用切换:快速切换最近打开使用的应用程序。

              】Native App Mode:切换为原生APP模式;

              】Web/Hybrid App Mode:切换为混合APP模式,如果APP有小程序或者H5的话可以切这个模式;

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

              】Search for element/查找元素:我们可以根据各类元素的定位条件进行元素的相关搜索,方便我们快速定位。

              】Start Recording/录制:可以录制自动化测试脚本,但录制出的脚本默认使用的是xpath定位,xpath的定位方式十分的脆弱,绝对路径定位一旦发生变化,脚本的维护就会变得十分的困难,如果一定要用,推荐使用相对路径的定位方法。

              】Quit Session/退出:当我们不再需要使用Inspector,就可以点击x关闭Inspector窗口

              2. 快照视图菜单

                】Select Elements/查看元素信息:点击select Elements 按钮,然后在屏幕截图中点击要查看的元素,最后在右侧的区域就可以看到元素的xpath,index,package,class,text,resource-id等信息。

                】 Tap/Swipe By Coordinates:使用坐标点击,直接在屏幕截图上使用鼠标来点击元素,手机也会同步操作 。

                】 Download Screenshot:下载当前屏幕截图。

                3. 元素视图菜单

                  】Tap:模拟点击;

                  】Send Keys:如果为输入框的话可以使用这个选项来填写对应的内容;

                  】Clear:清除编辑框内容;

                  】Copy Attributesto Clipboard/复制页面元素:复制当前页面元素的属性信息

                  】Download Screenshot下载当前元素截图

                  】Get Timing:获取选中的元素响应所需的时长。

                  . 常见问题

                  1. appPackage有多个设备时

                  如果有多个设备,需要依次输以下命令查看:

                  adb -s XXXX shell 来制定进入的设备

                  dumpsys window | grep mCurrentFocus 查看appPackage

                  版权声明:

                  本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

                  我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com