Appium移动自动化测试——app控件获取之uiautomatorviewer

本文介绍了如何使用Maven、Eclipse和Appium进行手机YY应用的自动化测试。首先,新建Maven工程并添加相关依赖和插件,然后设置capabilities初始化AndroidDriver。接着,通过UIautomatorviewer获取控件ID,编写滑动和点击等操作的方法。在手机上启用USB调试并与Appium连接,运行测试代码,实现从欢迎页面滑动到直播页面的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载手机YY
http://yydl.duowan.com/mobile/yymobile_client-android/5.4.2/yymobile_client-5.4.2-881.apk

若链接失效,请自行百度

新建maven空白工程
前置条件:安装eclipse,及其maven插件,请自行百度

新建的工程如下:

在这里插入图片描述
新建目录apps,并将下载的安装包,拷贝到该目录下

打开POM增加依赖和插件
插入依赖

在这里插入图片描述


org.testng
testng
6.8.7
test


io.appium
java-client
4.0.0


org.seleniumhq.selenium
selenium-server-standalone
2.46.0

插入插件

org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.7 1.7 UTF-8 org.apache.maven.plugins maven-surefire-plugin 2.8.1 maven-resources-plugin 2.4 UTF-8

新建测试类,编写代码
新建类yy.ClickTest.java

在这里插入图片描述
设置capabilities,初始化AndroidDriver

在这里插入图片描述
capabilities的详细说明,请参见另一篇博文:http://blog.csdn.net/kaka1121/article/details/51733779

上图中,都是必填属性

其中如果已经在手机上安装好了app,那么选择①中的配置

如果需要每次都重新安装app,那么选择②中的配置

①中的appPackage和appActivity可以使用sdk自带工具aapt获得,也详见上文提到的capabilities博文

编写所需要的相关方法

在这里插入图片描述
因为手机YY安装好后,会出来欢迎页面,需要按住屏幕向左滑动4次,并按下“立即体验”按钮,因此,需要上述两个方法。


方法①,按住屏幕中间,向左滑动,图示已经很清楚,不再赘述。

方法②,查看一个控件是不是存在,用于查看是否已经滑动到了包含“马上体验”按钮的页面,停止滑动。

编写测试代码
下面,我们来编写测试代码

代码需要完成的事情:

①进入欢迎页面,需要按住屏幕向左滑动n次,直到出现“马上体验”按钮

②点击“马上体验”按钮,进入主页

③点击直播,完成。

代码如下图所示:


其中,代码内获取控件都通过ID来获取,比如拿到“马上体验”按钮的ID,如下图,使用UIautomatorviewer


更多UIautomatorviewer信息,见博文:http://blog.csdn.net/kaka1121/article/details/51762200

连接手机,打开appnium
使用USB调试模式,连接到手机,细节请自行百度

要说明的是,要勾选USB调试,不勾选“监控ADB安装应用”


appnium安装见http://blog.csdn.net/kaka1121/article/details/51698700

打开appnium,点击开始,连接手机


连接成功后,效果如下:


运行代码
运行代码,则会在手机上运行:

卸载YY

安装手机YY

打开手机YY欢迎页面

按住屏幕向左滑动4次

按下“立即体验”按钮

按下“直播”按钮

最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

### 关于App自动化测试中的元素定位 #### 方法概述 在移动应用程序的自动化测试过程中,准确定位页面上的UI组件对于编写可靠的测试脚本至关重要。常见的定位方式包括但不限于基于资源ID、类名称、XPath表达式以及内容描述等属性来识别目标控件。 #### 工具介绍 为了简化这一过程并提高效率,存在多种专门设计用于帮助开发者和QA工程师快速找到所需视图的小型实用程序。其中提到的一个非常有用的工具叫做 **Appium Inspector**, 这是一个由官方提供的图形化界面调试器[^2]。即使不是专门为配合Appium框架而构建的应用也能利用此功能来进行交互式的探索与分析工作流内的各个组成部分;而且最新迭代已经将其从原有的桌面客户端分离出来成为独立运行的产品线以便更好地服务于更广泛的受众群体[^3]。 除了上述提及到的功能外,在实际操作层面还可以借助其他一些手段比如`uiautomatorviewer`, 它允许用户捕获设备屏幕截图连同对应的布局层次结构一起展示给使用者从而便于理解当前显示界面上存在的所有对象及其相互关系。另外值得注意的是命令行指令同样能够发挥重要作用——例如执行 `adb shell dumpsys window | grep mCurrentFocus` 可获取正在前台活动的任务信息进而推断出具体哪个Activity处于激活状态之下[^5]. #### 示例代码片段 当涉及到具体的编程实践时,则可能需要用到像Python这样的高级语言搭配相应的库函数完成整个流程: ```python from appium import webdriver desired_caps = { 'platformName': 'Android', 'deviceName': 'emulator-5554', # 替换成自己的模拟器/真机序列号 'appPackage': 'com.example.app', # 应用包名 'appActivity': '.MainActivity' # 启动Activity的名字 } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) element = driver.find_element_by_id("button_login") # 根据id查找登录按钮 if element.is_displayed(): element.click() else: print("Element not visible or does not exist.") ``` 以上仅作为简单的示例说明如何连接至远程服务器启动会话并通过特定的选择器参数检索DOM节点实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值