一文明白如何使用常用移动端(Android)自动化测试工具 —— Appium

news2024/11/26 8:28:27

自动化测试

自动化测试大家都有所了解,近十年来,自动化测试这项技能也一直是软件测试从业者想要掌握的一项技能,根据有关调研显示,希望掌握自动化测试技能的人十年来都约占七成

本文会带来自动化测试中的移动端(Android)自动化测试的内容和对其测试框架进行简单的概述,希望可以让大家对Android自动化测试有个大致的理解,然后以Appium为例,介绍其环境搭建和基本使用。

Android自动化测试

Android自动化测试简述 自动化测试内容 Android可以通过自动化框架或云测试平台进行自动化测试,测试内容包括以下几个方面 :

  • 兼容性测试:安装、启动、卸载
  • 功能测试:手势操作、功能验证
  • 稳定性测试:app 是否容易出现闪退等现象
  • 场景测试:模拟真实网络场景,2G、3G、4G、wifi 网络的切换

自动化测试框架

Espresso Espresso 是 Google 针对 Android 平台开源的一款 Android 自动化测试框架,主要是用于 Android App UI 自动化测试,采用Java编写测试代码,有Glide和Android Studio支持,测试跑起来相当的快

UI Automator 也是 Google 官方出的一种简单的UI自动化测试工具,可跨APP测试,必须要Android4.0以上才能使用,如果在定位时想要使用使用资源id来定位控件的话,则必须在API18以上 uiautomatorviewer是android SDK自带的工具。通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。该工具位于SDK目录下的tools\bin子目录下

Appium Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等 Appium: 是 Appium 体系的核心,因为它本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。 Appium-Desktop:是为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium-desktop。 Appium Client: Appium 只是一个 Web 接口,他接受 HTTP 请求,所以各个语言都可以自己封装发送请求,于是就有 appium 下的各个子项目

在以上三个框架中,当属Appium为最为常见,特别在近些年,Appium的市场占比从25%到19年的42%,在不出现大的技术性突破下,Appium将来会有更大的市场占比,学会Appium这项工具,会变得更加迫切

接下来将教大家如何安装和使用Appium这款工具

Appium的安装和使用

Apppium安装和配置(Mac 版) 基础环境搭建

1 安装java环境,git,ruby,brew, Android SDK环境

// 检查是否安装上述环境

java -version
git --version
ruby -v
brew -v
adb

2 配置相关环境变量 安装Appium和相关包(Java版)

1 Appium下载

2 java-client和selenium包下载 选择对应的Java Client,并在其详情页下方的Compile Dependencies,将依赖的selenium包也下载下来。在编写java自动化测试脚本时,按需下载Compile Dependencies中的包,如commons-lang3。

Apppium基本使用

adb 命令

  • 采用tcpip连接手机(需要电脑和手机在同一个局域网下)
// 先usb连接手机,设置手机tcp连接端口为5555
adb tcpip 5555
// 断开usb,采用tcpip连接手机
adb connect 10.33.70.165:5555
// 断开tcpip连接
adb disconnect 10.33.70.165:5555

获取App信息

 // 获取当前界面元素
adb shell dumpsys activity top
// 获取App入口
adb shell dumpsys activity activities
// 启动app
adb shell am start -W -n com.xueqiu.android/.view.WelcomeActivityAlias -S
// 获取当前界面元素 adb shell dumpsys activity top
 
 
  • 操作手机(输入,按键,点击,滑动)

adb shell text/keyevent/tapswipe/press/roll

结语

以上内容就是本篇的全部内容以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1162503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用稳定扩散和SAM修改图像内容

推荐稳定扩散AI自动纹理工具: DreamTexture.js自动纹理化开发包 介绍 大型语言模型 (LLM) 和基础计算机视觉模型的最新突破为编辑图像或视频解锁了新的界面和方法。您可能听说过修复、复绘、生成填充和文本到图像;这篇文章将向您展示如何通过…

4.多层感知机-3GPT版

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 多层感知机一、感知机1、感知机2、训练感知机3、图形解释4、收敛定理5、XOR问题6、总结 二、多层感知机1、XOR2、单隐藏层3、单隐藏层-单分类4、为什么需要非线性激活函数5、Sigmoid函数6、Tanh函数7、ReLU函数8、多类分…

uniapp 编译到模拟器(mumu)

一开始我是用逍遥模拟器,但这个玩意突然不好使了,一直加载卡在这页面 1、下载 官网下载:mumu模拟器12 2、打开mumu多开器,在右上角adb查看端口号 3、打开mumu模拟器 4、打开HBuiderX 工具—设置—运行配置 5、配置电脑的系统…

为什么Python爬虫教程众多,而专业工程师稀缺?

当谈到Python爬虫时,我们实际上在谈论网络爬虫,这是一种用编程技术从网页中提取数据的方法。Python爬虫在许多领域都有广泛应用,包括数据分析、数据挖掘和网络信息搜集。随着互联网的蓬勃发展,Python爬虫技术也在不断进化。 如果…

揭秘!自动化测试效率提升30%如何达成

一个全新的应用需要经过需求设计、应用开发、应用测试,及应用上架等几个阶段之后,才能到达用户手中。在应用测试中,测试的类型根据不同的开展时机,可以分为单元测试、集成测试、专项测试,以及上架测试。 单元测试指对软…

网络爬虫开发软件Screaming Frog SEO Spider mac中文版软件特点

Screaming Frog SEO Spider mac是一款SEO工具,可以帮助用户进行网站的SEO优化和分析。 Screaming Frog SEO Spider mac软件特点 网站爬取:可以快速扫描整个网站并列出所有内部和外部页面,包括URL,标题,描述和头信息等…

OSPF 高级特性3

一、OSPF安全特性 1、OSPF报文验证: 区域验证模式:在区域下配置一致的密码才能加入同一个区域。 [r3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456 接口验证模式:链路两端的接口必须配置一致的密码才能建立邻居关系 [r5-Gig…

成功创建百度百科词条,必备关键编辑技巧揭密!

公司成立后,可以创建自己的百度百科全书词条。然而,经常搜索可发现,有些企业词条只显示相关基本信息,而有些企业词条则包含了大量信息,显然与企业规模有关。 企业百科词条的内容是非常重要的。它应该包括企业的介绍&am…

Python语言高级实战-基于协程的方式来实现异步并发编程(附源码和实现效果)

实现功能 协程是一种轻量级的线程,可以在代码中定义异步任务,并在需要时挂起和恢复执行。Python提供了asyncio库来支持协程异步编程。使用async def await的方式定义协程。 async 用来声明一个函数为异步函数,异步函数的特点是能在函数执行…

前端H5用Canvas画布做类似银行签名的操作

<!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>签名页面</title> </head> <body> <canvas id"signatureCanvas" width"400" height"200"></canvas> <bu…

WebGIS面试题(第三期)

WebGIS面试题&#xff08;第三期&#xff09;&#xff08;某公司&#xff09;上机笔试题 以下题目为南京某公司上机笔试题&#xff0c;题目仅为部分题目&#xff0c;全部题目在公众号{GISer世界}&#xff0c;答案仅供参考&#xff0c;需要电子版在公众号{GISer世界}内回复“面…

离散傅里叶变换中的能量守恒公式(帕斯瓦尔定理)及其程序举例验证

离散傅里叶变换中的能量守恒公式&#xff08;帕斯瓦尔定理&#xff09;及其程序举例验证 一、 离散傅里叶变换中的能量守恒公式 离散傅里叶变换中的能量守恒公式&#xff1a; ∑ n 0 N − 1 ∣ x [ n ] ∣ 2 1 N ∑ k 0 N − 1 ∣ X [ k ] ∣ 2 (1) \sum\limits_{n 0}^{N…

外汇天眼:进行外汇交易,杠杆是不是越大越好?

有在做外汇保证金交易的投资人&#xff0c;相信对杠杆一定不陌生&#xff0c;不知道你是否曾经想过&#xff0c;外汇杠杆到底要怎么用比较好&#xff1f;一家经纪商提供的杠杆越大&#xff0c;对交易者来说就一定好吗&#xff1f;让我们一起思考以下几个问题。 滥用外汇交易杠…

Python算法练习 11.2

leetcode 399 除法求值 给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件&#xff0c;其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数组 queries 表示的问题&…

【建议收藏】免费体验的AI论文写作网站-「智元兔 AI」

在当今技术飞速发展的时代&#xff0c;越来越多的领域开始应用人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;。其中&#xff0c;AI写作工具备受瞩目&#xff0c;备受推崇。 在众多的选择中&#xff0c;智元兔AI是一款在笔者使用过程中非常有帮助…

广联达OA存在未授权导致敏感信息泄漏

漏洞概述 广联达Linkworks办公OA系统存在未授权接口从而引发敏感信息泄露,攻击者可通过此漏洞获取账号密码登录后台,造成其他影响。 漏洞复现 /Services/Identification/Server/Login.aspx 页面访问如下所示&#xff1a; 拼接url路径访问&#xff1a; /Org/service/Service.…

React native window工程在macbook中打包运行环境搭建实录

做了个安卓的app&#xff0c;打算试试打包ios。但是mac中遇到许多挑战。在这记录下。 刚开始就是按照文档的操作的&#xff0c; 实际上这里Watchman 不是必须的&#xff0c; 这是监听文件变化然后自动同步更新模拟器效果的&#xff0c;完全可以修改后自己重新打包看效果&#…

selenium自动化测试入门 —— Alert/Confirm/Prompt 弹出窗口处理!

一、Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口&#xff1a; 提示用户信息只有确认按钮&#xff0c;无法通过页面元素定位&#xff0c;不关闭窗口无法在页面上做其他操作。 Confirm 弹出窗口&#xff1a; 有确认和取消按钮&#xff0c;该弹出窗口无法用页面元素定…

GZ035 5G组网与运维赛题第9套

2023年全国职业院校技能大赛 GZ035 5G组网与运维赛项&#xff08;高职组&#xff09; 赛题第9套 一、竞赛须知 1.竞赛内容分布 竞赛模块1--5G公共网络规划部署与开通&#xff08;35分&#xff09; 子任务1&#xff1a;5G公共网络部署与调试&#xff08;15分&#xff09; 子…

不可不知的项目管理策略:十大方法论深度剖析

深入了解项目管理的十大方法论&#xff0c;包括敏捷、六西格玛、看板等&#xff0c;并探讨它们各自的优势和适用场景。本文为您提供全面的指南&#xff0c;帮助您选择最适合您项目和团队的方法论&#xff0c;提升工作效率和项目成功率。 一、什么是项目管理方法论 项目管理方法…