前 20 名 Appium 面试问答

已发表: 2021-06-10

计算机科学、信息技术 (IT) 和相关领域的新生和入门级专业人士往往会不断寻找职业建议和面试准备资源。 本博客将讨论一些在全栈开发人员招聘过程中最常见的 Appium 面试问题。

我们涵盖了从初学者和中级水平的各种问题,为您的每一步提供支持!

目录

前 20 个 Appium 面试问题和答案

1.什么是Appium? 列出它的能力。

Appium 是一个用于测试移动应用程序的自动化框架。 开发人员使用这个开源工具在 Android 或 iOS 上运行脚本和测试原生、移动 Web 和混合应用程序。

使用 Appium,您可以:

  • 支持JSON有线协议;
  • 取消重新编译应用程序;
  • 支持物理设备和模拟器的自动化测试;
  • 使用网络驱动程序而不依赖于移动设备。

2. 有哪些不同类型的移动应用测试?

移动应用程序测试有多种类型和方法。 他们之中有一些是:

  • 功能测试:确保应用程序的流程、功能和用途正确运行并符合规范。
  • 可用性测试:检查应用程序的用户友好性和直观性,以改善客户体验。
  • 兼容性测试:进行非功能测试以检查软件是否在不同的操作系统、设备、网络环境等上工作。
  • 性能和负载测试:探测设备、网络和 API / 服务器的性能,以降低故障风险。
  • 安全测试:测试各种权限方案下的设备行为,确保用户个人信息的安全。
  • 安装测试:检查应用程序是否可以正确安装和卸载,以及是否可以在没有中断和错误的情况下进行更新。
  • 本地化测试:检查应用程序是否符合当地法律法规,并且可以被各种市场访问。
  • 手动测试:涉及复杂的机制和测试,以探索最初可能不明显的用例。
  • 自动化测试:使用精心打包的框架来构建和维护测试脚本以及管理测试运行。

3. 一个典型的移动测试框架是如何运作的?

一个标准的移动测试框架分为三个部分,即:

  • 应用程序包:这是需要测试的目标移动应用程序。
  • 测试用例运行器:它是目标应用程序的仪器测试运行器,包含一个 SDK 工具(用于构建测试)和一个 API 提供程序(用于编写程序)。
  • 测试包:它有两个类,称为测试用例和模拟对象。 测试用例类包括测试方法,而模拟对象包括测试用例的模拟数据或样本输入。

4. 解释Appium的设计理念。

Appium 架构的主要组件有:

  • Appium 服务器:一个基于 HTTP 的服务器,它通过将自动化命令翻译成 Android 设备可以理解的语言来做出响应。
  • Appium 客户端:列出支持的语言的客户端框架,例如 Java 和 Python。
  • Appium Driver:支持移动操作系统的 UIAutomator2 驱动程序。

Node.js 应该在初始化 Appium 服务器之前预先安装。 下载 Appium 后,REST API 会暴露出来,并且会收到来自客户端的连接和命令请求。 此命令可以在 Android 或 iOS 设备上执行。 然后机器给出 HTTP 响应,使用自动化的移动应用测试工具来执行请求并驱动应用的用户界面。

5、Appium可以支持哪些语言?

Appium 支持那些能够支持 HTTP 请求的语言。 其中包括 Java、JavaScript、Node.js、Python、PHP、Ruby、Perl 等。

6. 你需要一台服务器机器来运行测试吗?

不会。Appium 促进了 server-2 架构,它可以在没有服务器机器的情况下运行测试。 当测试机器连接到运行 Appium 的测试服务器时,整个过程是自动化的。 这样,Appium 可以在运行测试的同一台机器上运行。

7. 使用 Appium 有哪些限制?

虽然 Appium 具有许多功能和优势,但使用这种自动化测试框架进行移动应用程序测试存在一些缺点。 这里是其中的一些:

  • 无法测试低于 4.2 的 Android 版本。
  • 使用 Appium 导航应用程序从 Web 到本机(反之亦然)的切换操作非常棘手。
  • 您不能在 Microsoft Windows 上运行 Appium Inspector。

8、Appium测试写作的基本要求是什么?

Driver Client、Appium Session、Desired Capabilities 和 Driver Commands 是错误 Appium 测试的四个必备条件。 这些在下面详细描述:

  • 驱动程序客户端:使您能够使用客户端库来编写自己的测试、包装测试步骤以及发送到 HTTP。 Appium 就像用户一样驱动移动应用程序。
  • Appium Session:测试发生在特定的会话中。 自动化完成后,您必须等待另一个会话来初始化 Appium。
  • 所需功能:PlatformName、DeviceName 和 PlatformVersion 是需要定义以初始化 Appium 会话的一些参数示例。
  • 驱动程序命令:这是最终用于编写测试的广泛的命令词汇表。

9. Appium Inspector 是什么意思?

Appium Inspector 类似于 Selenium 的 IDE 记录和回放工具。 Selenium 是在浏览器上运行的 Web 应用程序的自动化框架,而 Appium 是在移动设备上运行的应用程序的合适工具。

Appium Inspector 可以通过执行以下任务来记录和播放原生应用程序的行为:

  • 检查 DOM
  • 移动应用程序的定位元素
  • 生成所需语言的测试脚本

10. 区分模拟器和仿真器。

模拟涉及对目标的底层状态进行建模。 在理想情况下,您可以在模拟中观察所有原始特征。 另一方面,仿真涉及模仿目标的外部可观察行为。 虽然仿真的外部状态与目标相匹配,但内部属性却并非如此。

模拟器和仿真器为在灵活的软件定义环境中运行快速简便的测试创造了空间,而无需设置硬件设备。

11. 用例子解释定位器。

可以通过一些属性来识别移动应用程序的元素,其中一些是标准属性。 标准的应用程序属性称为定位器,例如 ID、名称、可访问性 ID、类名、XPATH 等。

12. 定义 XPATH 及其在定位元素中的用途。

您可以使用 XPATH 的特定语法浏览任何文档的 XML 结构。 它是一个基于字符串的标识符,可以访问任何元素。 Appium 有一个“FindBy”函数,它传递 XPATH 字符串以返回元素。

13. FindElement 与 FindElements 有何不同?

FindElement 检查应用程序 UI 屏幕中特定元素的可用性。 FindElements 可以定位多个元素。

两者之间的另一个区别是 FindElement 在没有找到任何元素时抛出异常,但 FindElements 返回一个 0 大小的数组。

14. 提到 Appium 可能遇到的一些潜在错误?

由于以下原因可能会出现错误:

  • 在需要时不提供所需的功能,如 DeviceName、PlatformName 等。
  • 忘记使用 SDK 根目录路径设置 <ANDROID_HOME> 环境变量。 错误可能是“无法找到或定位 ADB”。
  • 不受限制的查询和 XPATH 使用。 该错误表示无法在移动应用程序中定位 DOM 元素或找到 XPATH。

15.在Appium中定义隐式和显式等待。

在某些情况下,当在应用程序屏幕上加载元素存在延迟时,Appium 提供了 Implicit 和 Explicit Wait 的选项,分别为指定时间和特定条件添加延迟。

16.如何使用 Appium 进行调试?

您可以使用平台的底层语言或 IDE 调试 Appium 测试。 这样做相当容易,因为 Appium 是一个 Node.js 应用程序,并且代码可以在 GitHub 上免费获得。 您可以使用 Java Remote,还可以使用 Appium 提供的服务器日志掌握任何问题的根本原因。 例如,Monitor.bat(适用于 Android)和 iPhone 配置实用程序(适用于 iOS)可以帮助揭示发生故障的原因。

17. 描述 Appium 上下文中的数据交换。

数据交换是指基于评论的应用程序的不同部分中的信息交换,通常由窗口对象等复杂对象托管。 假设您必须调度和捕获事件。 在这种情况下,您的应用程序必须执行多个功能,并且信息可能以多种方式流动。 某些对象可能有状态,或者您的应用程序中的状态机可能很大,这可能会在测试时产生问题。 因此,数据交换不同于获取文本框的值或设置元素的属性。

18、自动化测试有哪些风险?

自动化测试需要一些实用的编程知识。 因此,无法在您的团队中找到或雇用熟练的资源是一个高度优先的问题。 与自动化工具相关的初始设置、培训和维护的高成本是另一个问题。 如果 UI 不固定,脚本维护的成本可能会变得过高。

19、自动化测试的先决条件是什么?

首先,您必须分离要自动化的测试用例。 根据您的需要,您准备测试数据并编写在测试用例中经常使用的可重用函数。 然后,您准备测试脚本并在执行过程中应用循环和条件。

20. 使用 Appium 的优缺点是什么?

使用 Appium 的优势:

  • 无论平台如何,所有复杂性都保留在单个服务器下。
  • 它支持跨平台移动测试。
  • 它不需要额外的组件来使应用程序自动化友好。

使用 Appium 的缺点:

  • 脚本可以同时在多个 iOS 模拟器上运行。
  • 它使用不支持旧 API 的 UIAutomator

这将我们带到了 Appium 面试问题列表的末尾!

从世界顶级大学在线学习软件课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

在印度从事全栈开发的职业

如果你一直在阅读这篇关于 Appium 面试问题的文章,我们假设你有兴趣追求全栈开发。 全栈开发人员不仅在各个行业都有很高的需求,而且他们的薪水也很高。 根据求职网站Indeed的数据,印度全栈开发人员的平均年薪为 6,80,481 卢比。 随着您在该领域获得更多经验并通过高级程序提高技能,这个数字会继续增加。

如果您是一名有抱负的软件开发人员或希望在当前工作中获得晋升资格,您可以考虑参加IIIT-Bangalore 和 upGrad的软件开发执行PG 计划这个为期 13 个月的课程将为您提供根据您的需要学习的灵活性,并获得全栈开发的专业知识以展示您的技能。 您无需任何编码经验即可了解前端和后端技术的基础知识。 以下是课程中涵盖的一些主题:

  • 计算机科学基础
  • 软件开发流程
  • 构建可扩展的网站
  • 构建强大的后端 API
  • 构建丰富的交互式 Web 用户界面

上述列表展示了该计划的全面性和整体性重点。 至于教学方法,该计划遵循互动和学生友好的方法。 大部分内容是通过在线和现场会议、项目、作业和来自领先教师和行业专家的个性化指导提供的。

上述 Appium 面试问答将有助于理解和加强基础知识,无论你是计算机科学专业的应届毕业生还是 IT 专业人士。 掌握这些基本概念可以带来出色的第一印象!

什么是 Appium 软件?

Appium 是一个用于测试移动应用程序的测试自动化框架。 它使用相同的 API 驱动 iOS、Android 和 Windows 应用程序。 它是在 WebDriver 之上编写的。 它也是一个跨平台工具,可用于跨流行的移动平台测试移动应用程序。 它可用于在真实设备或模拟器上测试移动应用程序。 它是在您的计算机上运行的服务器,充当自动化测试和正在测试的应用程序之间的桥梁。 它旨在与现有的自动化框架(如 Selenium Webdriver)兼容,让您可以将 Appium 与您选择的框架一起使用。 它支持多种编程语言,包括 Java、Objective-C、C#、Node.js 和 Python。

如何成为 Appium 开发者?

Appium 是一个开源(Apache 2 许可)测试自动化框架,专门用于移动应用程序测试。 它允许使用相同的语言(Javascript)和自动化工程师为他们的浏览器编写测试的相同 API(Selenium Webdriver)编写 UI 测试。 因此,它适合想要从不同的角度学习Android自动化测试的开发者。 以下是开始的步骤: 1. 从 Github 存储库下载并安装 Appium。 2. 查看 Appium 官方博客以获取教程和示例。 3. 查看 www.appium.io 以获取有关该项目的信息。 4. 阅读 Appium 文档。

使用 Appium 有哪些限制?

Appium 是测试移动应用程序的好工具,但它可能不适合某些类型的测试。 如果您希望避免编写代码,这是一个不错的选择。 例如,如果你想自动化一个像 Selenium 这样的测试工具,但你正在测试的应用程序是一个混合应用程序。 如果您想以完全相同的方式一次又一次地运行相同的测试,并且您希望测试在应用程序崩溃后继续运行,那么这可能不是正确的选择。 如果您想创建跨平台运行的测试脚本,那么 Appium 不是最佳选择。