如何入门Appium-移动端自动测试框架?

2023-12-19 01:04

本文主要是介绍如何入门Appium-移动端自动测试框架?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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自动化的第一选择。

二、如何搭建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工具的入门和使用。

五、Appium视频类学习资源分享

在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

软件测试视频教程观看处:

软件测试工程师大忌!盲目自学软件测试真的会毁终生,能救一个是一个......

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

这篇关于如何入门Appium-移动端自动测试框架?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/510400

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地