写点什么

appium

0 人感兴趣 · 23 次引用

  • 最新
  • 推荐

UI 自动化的稳定性和效率

用户头像
QE_LAB
7 小时前

提起UI自动化测试,一定绕不开这两个很重要的话题:稳定性和效率

软件测试 / 测试开发丨 app 自动化测试之设备交互 API 详解

Appium 提供了很多系统操作,在测试 APP 过程中会有一些特殊场景,比如来电话、短信,横竖屏切换,安装/卸载 APP,手机上的键盘操作,录屏等功能。下面介绍几个常用的设备交互 API。

软件测试 / 测试开发丨 app 自动化测试之模拟器控制

测试时需要用到测试设备,通常测试人员会选择使用模拟器进行自动化调试。模拟器分为原生模拟器与第三方模拟器。我们今天介绍的就是原生模拟器是 Android SDK 中自带的模拟器,可以通过 Android Studio 工具创建模拟器。

软件测试 / 测试开发丨 app 自动化测试之 Capability 使用进阶

Capability 是一组键值对的集合(比如:"platformName": "Android")。Capability 主要用于通知 Appium 服务端建立 Session 需要的信息。客户端使用特定语言生成 Capabilities,最终会以 JSON 对象的形式发送给 Appium 服务端。

软件测试 / 测试开发丨 app 自动化测试之 Appium WebView 技术原理

混合应用测试或微信小程序测试,都会涉及到 WebView 组件,这节内容将分析一下 WebView 的技术原理。首先通过日志分析查看 Appium 的运行过程。

软件测试 / 测试开发丨 app 自动化测试之 Appium 问题分析及定位

使用 Appium 进行测试时,会产生大量日志,一旦运行过程中遇到报错,可以通过 Appium 服务端的日志以及客户端的日志分析排查问题。

软件测试 / 测试开发丨 app 自动化测试之 Appium 原理 与 JsonWP 协议分析

想要使用 Appium 进行测试,那么就一定要先了解Appium的原理。Appium 不仅能够实现移动端的 JSONWP,并且延伸到了 Selenium 的 JSONWP,它能够控制不同移动设备的行为,例如通过会话安装和卸载 APP。

软件测试 / 测试开发丨 app 自动化测试之 Appium 源码分析

Appium 是由 Node.js 来实现的 HTTP 服务,它并不是一套全新的框架,而是将现有的优秀的框架进行了集成,在 Selenium WebDriver 协议(JsonWireProtocol/Restful web service)的基础上增加了移动端的支持,使 Appium 满足多方面的需求。

软件测试 / 测试开发丨 app 自动化测试之 Appium 源码修改定制分析

Appium 是由 Node.js 来实现的 HTTP 服务,它并不是一套全新的框架,而是将现有的优秀的框架进行了集成,在 Selenium WebDriver 协议(JsonWireProtocol/Restful web service)的基础上增加了移动端的支持,使 Appium 满足多方面的需求。

软件测试 / 测试开发 | app 自动化测试(Android)—Capability 使用进阶

Capability 是一组键值对的集合(比如:"platformName": "Android")。Capability 主要用于通知 Appium 服务端建立 Session 需要的信息。客户端使用特定语言生成 Capabilities,最终会以 JSON 对象的形式发送给 Appium 服务端。

软件测试 / 测试开发 | app 自动化测试(Android)—参数化用例

参数化是自动化测试的一种常用技巧,可以将测试代码中的某些输入使用参数来代替。以百度搜索功能为例,每次测试搜索场景,都需要测试不同的搜索内容,在这个过程里面,除了数据在变化,测试步骤都是重复的,这时就可以使用参数化的方式来解决测试数据变化,测

软件测试 / 测试开发 | app 自动化测试(Android)-- 属性获取与断言

断言是 UI 自动化测试的三要素之一,是 UI 自动化不可或缺的部分。在使用定位器定位到元素后,通过脚本进行业务操作的交互,想要验证交互过程中的正确性就需要用到断言。

软件测试 / 测试开发 | app 自动化测试(Android)-- 特殊控件 Toast 识别

Toast 是 Android 系统中的一种消息框类型,它属于一种轻量级的消息提示,常常以小弹框的形式出现,一般出现 1 到 2 秒会自动消失,可以出现在屏幕上中下任意位置。它不同于 Dialog,它没有焦点。Toast 的设计思想是尽可能的不引人注意,同时还向用户显示信息

软件测试 / 测试开发 | app 自动化测试(Android)-- 显式等待机制

显式等待是针对页面某个特定的元素设置的等待时间,在设置时间内,默认每隔一段时间检测一次当前页面的元素。

软件测试 / 测试开发 | app 自动化测试(Android)-- 触屏操作自动化

工作中经常需要对应用的页面进行一些滑动、长按、拖动等手势操作,而AppiumDriver 提供了一个模拟手势操作的辅助类 TouchAction,可以通过它对手机屏幕进行手势操作。

软件测试 / 测试开发 | app 自动化测试(Android)--App 控件交互

Appium 提供了大量的 API 去操作页面及页面上的节点,比如点击、输入、滑动等。

软件测试 / 测试开发 | app 自动化测试(Android)-- 高级定位技巧

通常使用定位器定位页面上的元素会发生一些定位不到元素,或者定位失败的情况。有可能是页面上元素不唯一,有可能是页面发生变化。这节介绍定位元素的高级用法,使用层级关系定位或者多重属性定位的方式来确定元素的唯一性,从而更精准

软件测试 / 测试开发 | app 自动化测试(Android)--App 控件定位

客户端的页面通过 XML 来实现 UI 的布局,页面的 UI 布局作为一个树形结构,而树叶被定义为节点。这里的节点也就对应了要定位的元素,节点的上级节点,定义了元素的布局结构。在 XML 布局中可以使用 XPath 进行节点的定位。

软件测试 / 测试开发 | app 自动化测试(Android)-- 元素定位方式与隐式等待

元素定位是 UI 自动化测试中最关键的一步,假如没有定位到元素,也就无法完成对页面的操作。那么在页面中如何定位到想要的元素,本小节讨论 Appium 元素定位方式。

软件测试 / 测试开发 | Appium 用例录制

Appium Desktop 是一款用于 Mac、Windows 和 Linux 的开源应用,它提供了 Appium Server,Appium Inspector 以及相关的工具的组合。

软件测试 / 测试开发 | Appium 环境安装与架构介绍

随着互联网的迅速发展,为了满足用户的需求,产品迭代速度也越来越快,持续集成(CI)和持续交付(CD)都旨在缩短开发周期、提高软件交付效率以及实现全流程的自动化测试。

软件测试 / 测试开发 | 一文搞定 Appium 环境配置

Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等,也是当下互联网企业实现移动自动化测试的重要工具。

appium_appium技术文章_InfoQ写作社区