
APP自动化测试
文章平均质量分 82
hogwarts_beibei
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
技术分享 | app自动化测试(Android)– Capability 使用进阶
Capability 是一组键值对的集合(比如:“platformName”: “Android”)。Capability 主要用于通知 Appium 服务端建立 Session 需要的信息。客户端使用特定语言生成 Capabilities,最终会以 JSON 对象的形式发送给 Appium 服务端。比如下面的例子展示了几个重要的 capabilities: Java 版本通用的Capability参数Capabilities 参数支持多种平台。Android OnlyiOS Onl原创 2022-06-29 18:17:58 · 151 阅读 · 0 评论 -
技术分享 | app自动化测试(Android)– 参数化用例
参数化是自动化测试的一种常用技巧,可以将测试代码中的某些输入使用参数来代替。以百度搜索功能为例,每次测试搜索场景,都需要测试不同的搜索内容,在这个过程里面,除了数据在变化,测试步骤都是重复的,这时就可以使用参数化的方式来解决测试数据变化,测试步骤不变的问题。参数化就是把测试需要用到的参数写到数据集合里,让程序自动去这个集合里面取值,每条数据都生成一条对应的测试用例,直到集合里的值全部取完。使用 Appium 测试框架编写测试用例时,通常会结合单元测试框架一起使用。使用测试框架的参 Java 版本原创 2022-06-29 18:16:56 · 218 阅读 · 0 评论 -
技术分享 | app自动化测试(Android)– 属性获取与断言
断言是 UI 自动化测试的三要素之一,是 UI 自动化不可或缺的部分。在使用定位器定位到元素后,通过脚本进行业务操作的交互,想要验证交互过程中的正确性就需要用到断言。分析正确的输出结果,常规的断言一般包含以下的几个情形:比较大小包含或者不包含验证布尔值Python 示例代码上面的示例可以看出,Python 的 assert 是用来判断一个条件是否为真,如果它为真,就继续执行,如果为假,则抛出 AssertError 并且包含错误信息。断言可以在条件不满足程序运行的情况下直接返回错误。Java 示例代码原创 2022-06-27 10:08:15 · 189 阅读 · 0 评论 -
技术分享 | app自动化测试(Android)– 特殊控件 Toast 识别
Toast 是 Android 系统中的一种消息框类型,它属于一种轻量级的消息提示,常常以小弹框的形式出现,一般出现 1 到 2 秒会自动消失,可以出现在屏幕上中下任意位置。它不同于 Dialog,它没有焦点。Toast 的设计思想是尽可能的不引人注意,同时还向用户显示信息希望他们看到。测试 APP 下载地址:首先将上面地址的 apk 包下载到本地,并安装到模拟器中;在模拟器中打开 API Demos,依次点击“Views”-“Popup Menu”-“Make a Popup”-“Search”,就会弹出原创 2022-06-26 17:08:29 · 157 阅读 · 0 评论 -
技术分享 | app自动化测试(Android)–显式等待机制
显示等待与隐式等待相对,显示等待必须在每一个须要等待的元素前面进行声明。生命周原创 2022-06-22 10:20:03 · 187 阅读 · 0 评论 -
app自动化测试(Android)–触屏操作自动化
app自动化测试(Android)–触屏操作自动化原创 2022-06-20 18:08:22 · 165 阅读 · 0 评论 -
技术分享 | app自动化测试(Android)–App 控件交互
点击操作通常获取到元素之后,可以调用 click() 方法来实现对这个元素的点击操作。原创 2022-06-14 10:40:05 · 205 阅读 · 0 评论 -
技术分享 | Appium环境安装与架构介绍
Appium 设计哲学不需要为了自动化而重新编译或修改被测应用不应该让移动端自动化测试限定在某种语言或者某个具体的框架不要为了移动端的自动化测试而重新造轮子移动端自动化测试应该是开源的Appium 架构Appium 架构图如下:BAppium 的核心是一个 Web 服务器,提供了一套 REST 的接口,接收到客户端的连接,监听到命令,在移动设备上执行这些命令,将执行结果放在 HTTP 响应中返还给客户端。事实上,这种客户端/服务端的架构给予了许多的可能性。可以使用任何实现了该客户...原创 2022-06-08 16:35:15 · 100 阅读 · 0 评论 -
技术分享 | Appium 用例录制
下载地址:https://github.com/appium/appium-desktop/releases 1下载对应系统的 Appium 版本,安装完成之后,点击 “Start Server”,就启动了 Appium Server。在启动成功页面点击右上角的放大镜,进入到创建 Session 页面。配置好 desirecapability 信息之后,点击“Start Session”启动会话就展示出下面的页面。Appium Inspector 元素定位页面:左侧为屏幕快照:可以在左侧使用鼠标选择 UI原创 2022-06-08 16:32:34 · 331 阅读 · 0 评论 -
技术分享 | app自动化测试(Android)–App 控件定位
客户端的页面通过 XML 来实现 UI 的布局,页面的 UI 布局作为一个树形结构,而树叶被定义为节点。这里的节点也就对应了要定位的元素,节点的上级节点,定义了元素的布局结构。在 XML 布局中可以使用 XPath 进行节点的定位。...原创 2022-06-08 16:29:29 · 156 阅读 · 0 评论 -
技术分享 | App测试时常用的adb命令你都掌握了哪些呢?
adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作,例如安装和调试应用。adb组成采用了客户端-服务器(C/S)模型,包括三个部分:image1080×662 90.1 KB adb Client:运行在电脑上,可以在命令行中运行 adb 命令来调原创 2022-05-27 14:57:54 · 106 阅读 · 0 评论 -
技术分享 | 想做App测试就一定要了解的App结构
app 的结构包含了 APK 结构和 app 页面结构两个部分APK结构APK 是 Android Package 的缩写,其实就是 Android 的安装包。通过将 APK 文件直接传到 Android 模拟器或 Android 手机中执行即可安装。APK 文件其实是 zip 格式,但后缀名被修改为 apk,通过 Android Studio 可以看到 APK 内部的文件。下面拿雪球 APK 来举例,APK 内部结构如图所示:lib/ 目录lib/ 目录存放的是一些 so 文件原创 2022-05-25 15:19:21 · 187 阅读 · 0 评论 -
技术分享 | app测试中常用的Android模拟器
Emualor 是 Android Studio 自带的模拟器,是官方提供的工具,Android 开发最常使用的就是这一款。它功能非常齐全,电话本、通话等功能都可正常使用。用户可以使用键盘输入,鼠标点击模拟器按键输入,甚至还可以使用鼠标点击、拖动屏幕进行操纵。原创 2022-05-23 14:46:00 · 326 阅读 · 0 评论 -
技术分享 | web 控件的交互进阶
当需要模拟键盘或者鼠标操作时,Python需要使用 ActionChains 来处理,Java需要 Actions 来处理。常用模拟鼠标的行为,比如单击,双击,拖动等。当调用 ActionChains 或者 Actions 的方法时,会将所有操作按顺序存入队列,当调用 perform() 方法时,队列中的事件会依次执行。原创 2022-05-10 11:27:55 · 208 阅读 · 0 评论 -
移动端App自动化之触屏操作自动化
工作中我们经常需要对应用的页面进行手势操作,比如滑动、长按、拖动等,AppiumDriver 为我们提供一个模拟手势操作的辅助类TouchAction,可以通过它对手机屏幕进行手势操作。具体用法参见链接:chromedriver下载地址与webview自动化关键代码1导入TouchActionfrom appium.webdriver.common.touch_action import TouchAction常用的手势操作TouchAction 提供的常用的手势操作有.原创 2022-05-10 11:24:23 · 250 阅读 · 0 评论 -
App自动化之dom结构和元素定位方式(包含滑动列表定位)
900×383 38 KB先来看几个名词和解释:dom: Document Object Model 文档对象模型 dom应用: 最早应用于html和js的交互。界面的结构化描述, 常见的格式为html、xml。核心元素为节点和属性 xpath: xml路径语言,用于xml 中的节点定位,XPath 可在 xml 文档中对元素和属性进行遍历 如下我们再来看一个App的dom:控件的基础知识和selenium一样,appium为移动端抽象出了一个控件模型,称为dom结构;会...原创 2022-04-28 15:01:18 · 201 阅读 · 0 评论 -
app自动化测试(iOS)元素定位
除了通用定位方式外,iOS 还有其他特殊的定位方式,本章节仅介绍 iOS 特有定位。PredicateString定位样本元素截图:使用 PredicateString,基本定位方式是由元素属性名、运算符、目标值组成。元素属性比较运算符==,>=,<=,>,<,!=,<>,可用来比较数值或字符串例如:label == "SYSTEM (TEXT)"逻辑运算符AND,OR,NOT,AND等同于&&;OR等原创 2022-04-26 15:15:37 · 126 阅读 · 0 评论 -
iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践
900×383 10.8 KB移动端的自动化测试,最常见的是 Android 自动化测试,我个人觉得 Android 的测试优先级会更高,也更开放,更容易测试;而 iOS 相较于 Android 要安全稳定的多,但也是一个必须测试的方向,这个系列文章记录了 iOS 自动化测试的一些实践。Xcode 下载地址:Sign In - Apple下载安装好的图标如下 :先来看目前主流的 iOS 移动测试框架Appium:目前最常用的 App 自动化测试框架,具备跨平台性 Calab..原创 2022-04-26 15:14:10 · 207 阅读 · 0 评论 -
iOS自动化真机测试验证环境过程中常见问题解析
本章节主要讲解 iOS 自动化真机配置以及在 iOS 真机执行自动化时常见问题与解决方法。真机使用的Capability与模拟器不同,真机测试需要如下的 Capability方式一:设置 App 路径,启动 App(自动安装 App){ "app": "/Users/seveniruby/Library/Developer/Xcode/DerivedData/UICatalog-ftyzdbgapjmxxobezrnrxsshpdqh/Build/Products/Debug-iph..原创 2022-04-26 15:10:55 · 472 阅读 · 0 评论 -
一文带你了解接口测试价值与体系
如果把测试简单分为两类,那么就是客户端测试和服务端测试。移动端的测试包括 UI 测试,兼容性测试等,服务端测试包括接口测试。接口测试检查数据的交换,传递和控制管理过程,它绕过了客户端,直接对服务端进行测试。1080×460 71 KB接口测试的价值服务端非常复杂,就像下图的阿里核心链路图,包含大约 150 个组件,组件与组件之间进行交互,形成了密集的后端网络。UI 测试无法覆盖这么复杂的组件交互网络,所以要绕过客户端,直接使用接口测试对服务端进行测试。接口原创 2022-04-25 14:29:04 · 69 阅读 · 0 评论 -
一文彻底理解 Cookie、Session、Token
很久很久以前,Web 基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的 HTTP 协议,就是请求加响应,尤其是我不用记住是谁刚刚发了 HTTP 请求,每个请求对我来说都是全新的。这段时间很嗨皮。但是随着交互式 Web 应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统,哪些人往自己的购物车中放商品,也就是说我必须把每个人区分开,这就是一个不小的挑战,因为 HTTP 请求是无状态的,所原创 2022-04-25 14:26:26 · 98 阅读 · 0 评论 -
Postman 接口自动化测试
1080×323 58.3 KB文末获取测试开发进阶指南 - 本文适合已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求等基本操作。 工作环境与版本: Window 7(64位) Postman (Chrome App v5.5.3) P.S. 不同版本页面 UI 和部分功能位置会有点不同,不过影响不大。 首先我们来思考一下,如果要达到自动化接口测试效果,在基本的模拟请求上还需要做哪些呢? 我粗略概括为 3 个问题(欢迎在..原创 2022-04-25 14:25:14 · 288 阅读 · 0 评论 -
十大排序算法(动画图解)
排序的定义排序,就是重新排列表中的元素,使表中的元素满足按关键字递增或递减的过程。为了査找方便,通常要求计算机中的表是按关键字有序的。排序的确切定义如下:算法的稳定性:若待排序表中有两个元素 Ri 和 Rj,其对应的关键字 keyi = kcyj , 且在排序前 Ri 在 Rj 的前面。使用某一排序算法排序后,Ri 仍然在 Rj 的前面尽的前面,则称这个排序算法是稳定的。否则称排序算法是不稳定的。需要注意的是,算法是否具有稳定性并不能衡量—个算法的优劣,它主要针对算法的性质进行描述。只需举出一组关原创 2022-04-25 14:23:38 · 3331 阅读 · 1 评论 -
不懂PO 设计模式?这篇实战文带你
的解决了这个问题!使用UI自动化测试工具时(包括selenium,appium等),如果无统一模式进行规范,随着用例的增多会变得难以维护,而 PageObject 让自动化脚本井井有序,将 page 单独维护并封装细节,可以使 testcase 更稳健,不需要大改大动。具体做法:把元素信息和操作细节封装到Page类中,在测试用例上调用Page对象(PageObject),比如存在一个功能“选取相册标题”,需要为之建立函数selectAblumWithTitle(),函数内部是操作细节find原创 2022-04-25 14:21:39 · 216 阅读 · 0 评论 -
专项测试实战 | 如何测试 App 流畅度(基于 FPS 和丢帧率)?
1080×523 134 KB获取更多相关资料vx :ceshiren001FPS 和丢帧率可以在一定程度上作为 APP 流畅度的一项衡量标准,本文介绍利用 adb shell dumpsys gfxinfo 命令获取软件渲染加载过程的数据,进行计算从而获取测试结果。在此之前,需要先了解屏幕展示绘制过程及 Android 的 VSync 机制VSync 全称是 Vertical Synchronization(垂直同步),在 Android 4.1 中引入 Android 系统(同时引入的..原创 2022-04-25 14:19:56 · 397 阅读 · 0 评论 -
代码分析体系及Sonarqube平台
代码分析IDE辅助功能:xcode、android studio 独立的静态分析工具:findbugs、androidlint、scan-build、pmd、阿里巴巴java开发规范pmd插件 1080×608 185 KB 代码审计关注的质量指标bug和漏洞 单元测试规模 覆盖率分析代码静态检查代码语法分析:lint系列,通过分析语法树和源代码,检查代码规范 编译器分析:借助于编译器获得代码关系 字节码静态分析:分析jar、war、dex等格式的文件,代表工具:find原创 2022-04-25 14:18:13 · 109 阅读 · 0 评论 -
代码质量管理平台实战| SonarQube 安装、配置及 JaCoCo、Maven 集成
获取更多相关资料vx :ceshiren001SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。同时 SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 SonarQube。此外, SonarQube 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。官方网址:Code Quality and Code Security | SonarQube通过插件形式,可以支持包括 Java,C#,C..原创 2022-04-25 14:17:00 · 1488 阅读 · 0 评论 -
你以为Shell只是命令行?读懂这篇文,给你的工作赋能
Shell 是什么呢?很多人以为的Shell就是命令行,一条条可以百度出来的命令行。而简历上你只会写熟悉Linux?今天用摩拜App给大家讲解下如何使用 Shell 去操作 Android 设备进行自动化测试。首先我们需要准备一部手机或者一个Android模拟器。然后电脑上需要配置Android开发环境。下载 Android SDK:,按照系统版本下载相应的zip包。请按照自己的系统按需下载。 zip包解压缩,会生成一个tools目录。需新建一个sdk目录,然后把tools目录移动到sdk目录下原创 2022-04-25 14:15:21 · 75 阅读 · 0 评论 -
利器 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总
1080×469 14.7 KB上两篇文章介绍了自动遍历的测试需求、工具选择和 AppCrawler 的环境安装、启动及配置文件字段基本含义,这里将以实际案例更加细致的说明配置文件的用法和一些特殊场景的处理。下面我们继续之前的例子,在雪球搜索框输入搜索内容后的页面开始:testcase:设置测试用例,输入 alibaba 后,点选"阿里巴巴"yaml 写法如下:testcase: name: "XueQiuTestDemo AppCrawler" steps: - ..原创 2022-04-25 14:14:15 · 138 阅读 · 0 评论 -
史上最全 Appium 自动化测试从入门到框架实战精华学习笔记(三)
本系列文章汇总了从 Appium 自动化测试从基础到框架高级实战中,所涉及到的方方面面的知识点精华内容(如下所示),希望对大家快速总结和复习有所帮助。1.Appium 基础 1 (环境搭建和简介)2.Appium 基础 2 (元素定位和元素常用方法)3.Appium 基础 3 (手势操作和 uiautomator 查找元素)4.Appium 基础 4 (显式等待)5.Appium 基础 5 (toast 和参数化)6.Appium 基础 6 (webview)7.Appium_ 企业微信练习原创 2022-04-24 14:06:49 · 2756 阅读 · 0 评论 -
史上最全 Appium 自动化测试从入门到框架实战精华学习笔记(二)
本系列文章汇总了从 Appium 自动化测试从基础到框架高级实战中,所涉及到的方方面面的知识点精华内容(如下所示),希望对大家快速总结和复习有所帮助。1.Appium 基础 1 (环境搭建和简介)2.Appium 基础 2 (元素定位和元素常用方法)3.Appium 基础 3 (手势操作和 uiautomator 查找元素)4.Appium 基础 4 (显式等待)5.Appium 基础 5 (toast 和参数化)6.Appium 基础 6 (webview)7.Appium_ 企业微信练习原创 2022-04-24 14:05:02 · 160 阅读 · 0 评论 -
如何确保API 的稳定性与正确性?你只需要这一招
一、什么是rest-assured现在,越来越多的 Web 应用转向了RESTful的架构,很多产品和应用暴露给用户的往往就是一组 REST API,这 样有一个好处,用户可以根据需要,调用不同的 API,整合出自己的应用出来。从这个角度来讲,Web 开发的成本会越来越低,人们不必再维护自己的信息孤岛,而是使用 REST API 这种组合模式。1080×804 37.6 KB那么,作为 REST API 的提供者,如何确保 API 的稳定性与正确性呢?全面系统的测试是必不可少的。Java原创 2022-04-21 17:10:33 · 487 阅读 · 0 评论 -
APP自动化Android之属性获取与断言
断言是 UI 自动化测试的三要素之一,是 UI 自动化不可或缺的部分。我们使用定位器定位到元素后,通过脚本进行业务操作的交互,想要验证交互过程中的正确性就需要用到断言。常规的UI自动化断言分析正确的输出结果,常规的断言一般包含以下的几个情形:比较大小 包含或者不包含 验证布尔值示例代码:#比较大小price = driver.find_element( By.XPATH,'//*[contains(@resource-id="current_price")]').text原创 2022-04-21 17:00:49 · 137 阅读 · 0 评论 -
uiautomator2 自动化测试工具使用
Google 官方提供了一个 Android 自动化测试工具(Java 库),基于 Accessibility 服务,功能很强,可以对第三方 App 进行测试,获取屏幕上任意一个 App 的任意一个控件属性,并对其进行任意操作,但有两个缺点:1.测试脚本只能使用 Java 语言;2.测试脚本要打包成 jar 或者 apk 包上传到设备上才能运行;实际工作中,我们希望测试逻辑能够用 Python 编写,能够在电脑上运行的时候就控制手机。所以基于这个目的开发了 python-uiautomator2 自.原创 2022-04-19 14:47:19 · 748 阅读 · 0 评论 -
该如何测客户端专项测试?
hogwarts霍格沃兹测试学院官方霍格沃兹测试学院教务处23 天Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。在一个android应用中,一个Activity通常就是一个单独的屏幕,Activity上可显示控件,也可以监听并处理用户的事件并做出响应,下图是Android启动app时发生的事情:创建一个Linux进程,Linux进程创建Android虚拟机 进行application onCreate的加载 启动主线程:进行activit..原创 2022-04-10 10:58:41 · 138 阅读 · 0 评论