Appium如何实现移动端UI自动化测试呢?

Appium是一个开源跨平台移动应用自动化测试框架。

既然只是想学习下Appium如何入门,那么我们就直奔主题。文章结构如下:

  1. 为什么要使用Appium?
  2. 如何搭建Appium工具环境?(超详细)
  3. 通过demo演示Appium的使用
  4. Appium如何实现移动端UI自动化测试呢?

**ps:**如果觉得文字图片不如视频来的直接,也可以直接看第五部分,有关"Appium视频类学习资源分享"。

一、为什么移动端要使用Appium?

UI自动化领域,如果说Web端的自动化框架第一选择是Seleum,那么移动端(手机)的自动化框架第一选择就是Appium。

为什么Appium在移动端测试地位这么高呢?来看它的5个优点:

1)跨平台支持:

Appium支持Android和iOS平台的自动化测试,使用相同的API可以编写跨平台的测试脚本。

2)支持多种编程语言:

Appium可以使用多种流行的编程语言编写测试脚本,包括Java、Python、JavaScript等。方便测试人员能够使用他们熟悉的语言编写自动化测试脚本。

3)兼容多种移动应用类型:

无论是原生移动应用(APP)、混合应用(Hybrid App)和移动网页应用(H5),Appium都支持自动化测试。

4)开放性和灵活性:

Appium是一个开源项目,让开发人员能够对其进行扩展和定制。它可以与其他测试框架和工具集成,如JUnit、TestNG和CI/CD工具等。

5)使用标准的WebDriver协议:

Appium使用WebDriver协议来与移动设备进行通信,这使得开发人员可以使用熟悉的API和命令,无需学习新的测试框架。

总的来说,Appium为测试人员提供了一种方便、灵活的方式来进行移动应用的UI自动化测试,帮助他们提高测试效率、减少人工重复工作,并提供可靠的测试结果,所以该工具是进行移动端 UI自动化的第一选择。

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等), 需要的可以直接在下方观看就行,希望对你有所帮助!【公众号:互联网杂货铺】免费领取软件测试资料!

2024年Python自动化测试全套保姆级教程,70个项目实战,3天练完,永久白嫖...

二、如何搭建Appium工具环境?(超详细)

要使用Appium工具,首先需要搭建工具使用环境,那如何搭建Appium的工具环境呢?以Python开发语言为例,需要分成5步走:

第一步:安装 jdk

Appium测试Android程序,需要用到Android开发者工具(adb和定位工具),它依赖了jdk,所以第一步需要先安装jdk(推荐安装1.8)

1 ) 先查下你电脑上是否已安装了JDK(很可能之前已经安装过)

CMD打开终端,输⼊ java -version,如果能 看到版本信息,可以跳过第二步JDK的安装。

2 ) 如果 java -version 看不到版本信息,下载JDK

https://www.oracle.com/java/technologies/downloads/

3) 双击 下⾯ exe ⽂件完成安装

⼀路 "下⼀步" 即可。这个过程会安装 jdk 和 jre 两个内容。耐⼼等待全部安装完成。

4) 安装完成

重新 cmd 打开新的终端。输⼊ java -version,能看到版本信息,说明安装成功。

**5) 如果依然看不到版本信息,那么要配置 环境变量:**将JDK路径:C:\Program Files\Java\jdk1.8.0_151\bin 配置到 Path 环境变量中。

6)安装 Android SDK 工具

测试Android程序需要使用adb获取包名和界面名称,已经使用自带定位工具UIAutomatorViewer,需要需要安装Android SDK工具

6.1) 下载并解压Android SDK

6.2) 配置环境变量

然后再path环境变量添加:

%ANDROID_HOME%/tools;   
%ANDROID_HOME%/platform-tools;

6.3) 验证adb

6.4)直接安装appium桌面软件工具

6.5)准备模拟器或者真机

需要提前准备Android模拟器(比如雷电模拟器)或者真机(工作中使用)

6.6 ) pycharm中安装 appium-python

直接安装python的appium依赖包:

pip install Appium-Python-Client

pip show Appium-Python-Client

三、通过Demo演示Appium的使用

1、启动 appium 服务器

2、模拟器/真机 连接成功

3、获取应用的包名和界面名:adb shell dumpsys window | findstr mCurrentFocus

4、pycharm中编写代码,如下代码为演示demo代码,在pycharm点击运行,雷电模拟器会自动打开设置应用

四、如何进行Appium实现移动端UI自动化测试呢?

在完成Appium环境搭建和Demo使用后,该如何进行Appium实现移动端UI自动化测试呢?需要分几步走:

1、学习Appium的基础Api的使用

可以参考中文文档,学习appium相关基础的api操作,包含手机基础操作、元素定位、元素操作、获取元素信息、滑动、高级手势、手机操作等。

参考:https://www.kancloud.cn/testerhome/appium_docs_cn/2001595

2、学习PO模式

PO模式(Page Object 模式)是一种软件测试设计模式,用于在自动化测试中管理应用程序的页面。

它的主要目标是提高测试脚本的可读性、可维护性和重用性,同时降低测试脚本和页面实现之间的耦合度。

在PO模式中,每个页面或界面都被抽象为一个独立的对象,称为"页面对象"(Page Object)。页面对象封装了与页面相关的元素、操作和逻辑,并提供一组方法供测试脚本使用。具体而言,页面对象类通常包含以下内容:

  1. 元素定位:页面对象包含页面上的元素定位器,如ID、class、XPath等,用于定位页面上的元素。

2)元素操作方法:页面对象提供针对页面元素的操作方法,如点击、输入、获取文本等,封装了与元素交互的操作。

3)页面逻辑和业务方法:页面对象可能包含一些与页面逻辑和业务相关的方法,如验证页面标题、提交表单等。

通过封装页面对象,测试脚本可以更高层次地描述测试步骤和操作,而不必关注页面的具体实现和定位方式。测试脚本可以直接调用页面对象的方法来与页面进行交互,提高了测试脚本的可读性和可维护性,并减少了代码的重复编写。

总之,PO模式是一种有效的设计模式,适用于自动化测试中对页面进行管理和交互的场景。它提供了一种组织和管理测试代码的结构化方法,使得测试脚本更加模块化、可重用和可维护。

3、学习搭建appium移动端自动化测试框架

结合PO模式和Pytest框架,学习和搭建一套完整的UI自动化测试框架,实现UI自动化测试,提升回归测试效率。

4、总结

要实现App的自动化测试,实现Appium工具的入门:

1-首先在windows下安装jdk,Android-sdk环境

2-安装appium桌面工具

3-安装模拟器(比如雷电模拟器),或者使用真机

4-安装python的依赖包(Appium-Python-Client)

5-启动appium服务器,启动模拟器,然后在pycharm中运行demo脚本,即可看到运行效果

接下来可以学习下常用的appium的api、学习如何进行元素定位、然后再学习PO模式的封装,即可完成appium工具的入门和使用。

相关推荐
古希腊掌管学习的神几秒前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
m0_748244833 分钟前
StarRocks 排查单副本表
大数据·数据库·python
B站计算机毕业设计超人10 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
ProcessOn官方账号11 分钟前
如何绘制网络拓扑图?附详细分类解说和用户案例!
网络·职场和发展·流程图·拓扑学
路人甲ing..13 分钟前
jupyter切换内核方法配置问题总结
chrome·python·jupyter
游客52024 分钟前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
炭烤玛卡巴卡41 分钟前
学习postman工具使用
学习·测试工具·postman
每天都要学信号44 分钟前
Python(第一天)
开发语言·python
凡人的AI工具箱1 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
咸鱼桨1 小时前
《庐山派从入门到...》PWM板载蜂鸣器
人工智能·windows·python·k230·庐山派