ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 前 18 个 Appium 面试问题&答案 > 原文: [https://www.guru99.com/appium-interview-questions.html](https://www.guru99.com/appium-interview-questions.html) **1)解释什么是 Appium?** Appium 是一个自由分发的开源移动应用程序 UI [测试](/software-testing.html)框架。 **2)列出 Appium 能力?** 阿比能力是 * 网络测试 * 提供本机和混合移动自动化的跨平台 * 支持 JSON Wire 协议 * 它不需要重新编译 App * 支持对物理设备以及类似设备或仿真器的自动化测试 * 它不依赖于移动设备 **3)列出使用 APPIUM 的前提条件?** 使用 APPIUM 的前提条件是 * ANDROID SDK * JDK * 测试 NG * 蚀 * 硒服务器 JAR * Webdriver 语言绑定库 * Windows 版 Appian * APK App 信息在 Google Play * js **4)列出使用 Appium 的局限性吗?** * Appium 不支持低于 4.2 的 Android 版本的测试 * 对混合应用程序测试的支持有限。 例如,无法测试应用程序从网络应用到本机的切换操作,反之亦然 * 不支持在 Microsoft Windows 时代检查器上运行 **5)说明如何在移动应用程序中查找 DOM 元素或 xPath?** 要查找 DOM 元素,请使用“ UIAutomateviewer”为 Android 应用程序查找 DOM 元素。 **6)解释 Appium 的设计概念吗?** * Appium 是使用 [Node.js](/node-js-tutorial.html) 平台编写的“ HTTP 服务器”,并使用 Webdriver JSON 有线协议驱动 iOS 和 Android 会话。 因此,在初始化 Appium Server 之前,必须在系统上预安装 Node.js。 * 下载并安装 Appium 后,将在我们的计算机上安装一台服务器,该服务器公开 REST API * 它从客户端接收连接和命令请求,并在移动设备(Android / iOS)上执行该命令 * 它以 HTTP 响应进行响应。 同样,为了执行此请求,它使用移动测试自动化框架来驱动应用程序的用户界面。 框架喜欢 * 适用于 iOS 的 Apple Instruments(仪器仅在 Xcode 3.0 或更高版本以及 OS X v10.5 和更高版本中可用) * 适用于 Android API 级别 16 或更高版本的 Google UIAutomator * 适用于 Android API 级别 15 或更低的 Selendroid **7)Appium 支持哪种语言?** Appium 支持任何支持 HTTP 请求的语言,例如 Java,带有 Node.js 的 [JavaScript](/interactive-javascript-tutorials.html) ,Python,Ruby,PHP,Perl 等。 **8)解释 Appium 的优缺点?** **优点**: * 对于不论平台如何的程序员,他都将实现自动化(Android 或 iOS),所有复杂性都将保留在单个 Appium 服务器下 * 它为跨平台的移动测试打开了大门,这意味着同一测试可以在多个平台上运行 * Appium 在您的 App 中不需要额外的组件即可使其自动化友好 * 它可以自动化混合,Web 和本机移动应用程序 **缺点**: * Appium 可以同时在多个 iOS 模拟器上运行脚本 * 它使用适用于 Android 自动化的 UIAutomator,该 UIAutomator 仅支持 Android SDK 平台,API 16 或更高版本,并且为了支持较旧的 API,他们使用了另一个名为 Selendroid 的开源库 **9)解释什么是 APPIUM INSPECTOR?** 与 [Selenium](/selenium-tutorial.html) IDE 记录和回放工具相似,Appium 具有一个“检查器”来进行记录和回放。 它通过检查 DOM 记录并播放本机应用程序的行为,并以任何所需的语言生成测试脚本。 但是,Appium Inspector 不支持 Windows,而是在其选项中使用 UIAutomator 浏览器。 **10)提及编写 Appium 测试的基本要求是什么?** 要编写 Appium 测试,您需要 * **驱动程序客户端**:Appium 像用户一样驱动移动应用程序。 使用客户端库,您可以编写 Appium 测试,这些测试包装测试步骤并通过 HTTP 发送到 Appium 服务器。 * **Appium 会话**:您必须首先初始化一个会话,因为在会话中会进行此类 Appium 测试。 一旦完成一个会话的自动化,就可以结束并等待另一会话 * **所需功能**:要初始化 Appium 会话,您需要定义某些称为“所需功能”的参数,例如 PlatformName,PlatformVersion,Device Name 等。 它指定了 Appium 服务器需要的自动化类型。 * **驱动程序命令**:您可以使用大量表达性强的命令表来编写测试步骤。 **11)提及使用 Appium** 可能会遇到什么错误? 在 Appium 中可能会遇到的错误包括 * 错误 1:需要但不提供以下所需的功能:设备名称,platformName * 错误 2:找不到 adb。 请使用 Android SDK 根目录路径设置 ANDROID_HOME 环境变量 * 错误 3:openqa.selenium.SessionNotCreatedException:无法创建新会话 * 错误 4:如何在移动应用程序中查找 DOM 元素或 [XPath](/xpath-selenium.html) ? **12)您是否需要服务器计算机才能在 Appium** 上运行测试? 不,您不需要服务器即可在 Appium 上运行测试。 Appium 促进了 2 层体系结构,其中测试计算机连接到运行 Appium 并使整个过程自动化的测试服务器。 您可以在运行测试的同一台计算机上运行 Appium。 **13)在使用 Appium 测试时,是否可以使用 Javascript 与我的应用程序进行交互?** 是的,使用 Javascript 可以与 App 进行交互。 当命令在 Appium 上运行时,服务器会将脚本发送到您的应用中,并打包为匿名函数执行。 **14)提到用 Appium 测试最困难的场景是什么?** 用 Appium 测试最困难的情况是数据交换。 **15)在使用 Appium 时,我可以在多线程环境中运行测试吗?** 是的,您可以在多线程环境中运行测试,但必须确保针对同一台 Appium 服务器同时运行一个测试。 **16)在 Android 中,您是否需要一个应用程序的.apk 才能使用 Appium 进行自动化,或者您还需要在我的工作区中使用该应用程序?** 在 Android 中,您只需要.apk 文件即可自动使用 Appium。 **17)解释什么是 Appium 软件包主版本? 如何创建包装?** Appium 软件包主版是一组用于管理和创建 appium 软件包的工具。 例如创建包,您可以使用代码 #使用 es7 / babe1 Gulp 创建软件包–n <软件包名称> #regular es5 Gulp 创建软件包--- nobabe1 –n <软件包名称> 该软件包将以 out / <软件包名称>生成。 **18)说明 Appium 如何支持测试框架?** Appium 不支持测试框架,因此无需支持它们。 Appium 可以与所需的任何框架一起使用。 [免费 PDF 下载:Appium 面试问题&答案](#)