Appium面试题

本文深入探讨了Appium的特点、优缺点,不同类型的移动应用,以及在端到端测试中的重要性。了解Appium架构、JSONWire协议,区分它与Selendroid、Robotium和Selenium。学习如何在多线程和JavaScript交互中使用Appium,以及自动化测试与手动测试的关系。

目录

1、Appium有什么特点?

2、提⼀下Appium的优缺点?

3、有哪些不同类型的移动应用程序?

4、有哪些重要的移动应用程序测试?

5、Appium适合哪些类型的测试?

6、Appium Inspector是什么意思?

7、解释Appium的架构?

8、您对端到端移动测试自动化了解多少?执行端到端移动测试自动化时应牢记哪些事项?

9、什么是移动应用测试,它与移动测试有何不同?

10、解释Appium使用的JSON Wire协议?

11、在Appium的上下文中解释Appium Session?

12、测试人员在使用Appium时可以在多线程环境中运行测试吗?

13、是否可以在运行Appium测试时使用JavaScript与应用程序交互?

14、解释Appium是如何工作的?

15、区分Appium和Selendroid?

16、区分Appium和Robotium?

17、区分Appium和Selenium?

18、区分开源工具、供应商工具和内部工具?

19、您认为自动化测试可以完全替代手动软件测试吗?

20、提到你不能用模拟器做但可以用真实设备做的测试?

21、编写Appium测试的基本要求是什么?


1、Appium有什么特点?

Appium 不需要使⽤应⽤程序的源代码或库。

Appium 拥有⼀个充满活⼒且参与度⾼的开发者社区,因此可以轻松地从社区获得帮助。

Appium ⽀持多平台测试,这意味着它可以在 iOS 移动、Android 移动和 Windows 桌⾯应⽤程序等多个平台上执⾏相同的测试⽤例。

Appium 允许测试脚本与其他测试脚本并⾏运⾏。

Appium 中的⼩修改不需要重新安装应⽤程序。

Appium ⽀持使⽤ Selenium 客户端库的多种语⾔,包括 C#、Python、Java、Ruby、PHP、带有 node.js 的 JavaScript 等等。

2、提⼀下Appium的优缺点?

Appium的优点:

Appium 是⼀个开源应⽤程序,这意味着它可以免费下载并且设置简单。

它可⽤于在混合、本机和 Web 应⽤程序上运⾏⾃动化测试。

为了使 Appium 与⾃动化兼容,您不需要在应⽤程序中集成任何新代理,这与其他测试解决⽅案不同。它在将上传到 App Store 的应⽤程序上进⾏测试。

Appium 现在有⼀个新功能。除了移动应⽤程序测试,它现在还⽀持 Windows 桌⾯应⽤程序测试。

Appium 是⼀个跨平台、开源的移动测试解决⽅案,允许我们进⾏跨平台测试。因此,您将能够跨多种平台进⾏测试(Android 和 IOS 平台的单⼀ API)。

Appium的缺点:

不⽀持⽣成已执⾏测试的详细报告。

测试有点慢,因为它们依赖于远程 Web 驱动程序。

Appium 使⽤ UIAutomator for Android,它只⽀持 Android SDK、API 16 或更⾼版本,这不是限制,⽽是开销。另⼀⽅⾯,Appium本⾝并不⽀持早期的 API。为了⽀持较旧的 API,它使⽤了⼀个名为 Selendroid 的开源库。

在 Mac OS 设备上,⼀次只能运⾏⼀个 iOS 脚本,这意味着⼀次只能运⾏⼀个测试。如果我们希望同时在多个 iOS 设备上运⾏我们的测试,我们将需要相同数量的 Mac 机器。另⼀⽅⾯,组织许多 Mac 机器的成本会很⾼。

3、有哪些不同类型的移动应用程序?

原⽣应⽤程序:原⽣应⽤程序是⽤特定编程语⾔(例如 iOS 的 Objective C 或 Android 的 Java)编写并直接安装在设备上的程序,允许它充分利⽤设备的所有特性。本机应⽤程序可以离线⼯作并利⽤设备的通知系统。应⽤商店(例如 Google Play 或 Apple 的 App Store)⽤于安装本机应⽤程序。本机移动应⽤程序具有⾼⽔平的性能和可靠性。Temple Run、Candy Crush 和其他本地应⽤程序就是⽰例。

Web 应⽤程序:Web 应⽤程序是专门为移动设备创建、调整和托管的移动 Web 门户。使⽤移动设备的 Web 浏览器上的 URL 访问它们。当 HTML5 发布时,⼈们了解到他们可以在浏览器中拥有类似本机的功能,并且 Web 应⽤程序变得⾮常流⾏。设备功能在移动 Web 应⽤程序中不可⽤。Google.com、m.snapdeal.com、m.yahoo.com 和更多⽹站都是 Web 应⽤程序的⽰例。

混合应⽤程序:嵌⼊在设备上运⾏并使⽤ Web 技术创建的本机应⽤程序的 Web 应⽤程序称为混合应⽤程序(HTML5、CSS 和JavaScript)。混合应⽤程序在本机容器内运⾏,并使⽤设备的浏览器引擎(⽽不是浏览器)在本地呈现 HTML 和处理 JavaScript。Web到本机的抽象层使您可以访问移动 Web 应⽤程序中不可⽤的设备功能,例如加速度计、摄像头和本地存储。混合应⽤程序不限于单⼀平台或移动设备。因此,⼀旦构建,它就可以在任何设备上运⾏。Flipkart、Facebook、Twitter 和其他混合应⽤程序就是⽰例。

4、有哪些重要的移动应用程序测试?

可⽤性测试:可⽤性测试是 Web 应⽤程序测试的⼀种,⾮常适合评估应⽤程序如何使⽤户更容易实现其⽬标。在这个测试中,参与者被给予特定的、真实的环境来使⽤应⽤程序。在收集来⾃最终⽤户的直接输⼊的基础上,可⽤性测试也是可靠的。因此,测试过程没有偏见,同时保证突出区域得到改善。可⽤性测试还确保设计直观,并优先考虑可⽤性和客户体验。

性能测试:性能测试是移动应⽤程序测试的⼀个重要⼦集,⽤于检查应⽤程序在各种⼯作负载情况下的性能、稳定性和响应能⼒。性能测试的主要⽬标是确保应⽤程序完全符合性能⽬标。此外,它在启动应⽤程序之前解决了性能限制。瓶颈是系统整体功能内部的进程,会导致系统的整体性能变慢或停滞。负载测试、容量测试、浸泡测试、尖峰测试和压⼒测试都是流⾏的性能评估形式。

安全测试:在当今世界,安全是⼏乎每个移动应⽤程序开发⼈员的主要担忧。据报道,出于安全考虑,80% 的⽤户更有可能删除应⽤程序。因此,专注于移动应⽤安全测试⾄关重要。某些程序(例如旅⾏应⽤程序)需要⽤户的个⼈信息来进⾏各种交易。如果您的应⽤程序需要类似的东西,您必须保证应⽤程序的机密性、完整性和真实性。您应该在您的应⽤程序上运⾏强⼤的测试,以确保没有⼈可以通过不公平的⽅式侵⼊他⼈的帐户。

中断测试:中断测试对于确定应⽤程序在返回之前的状态之前被中断时的⾏为⾮常重要。来电或短信、警报、来⾃移动应⽤程序的推送通知、电池电量不⾜或已满、⽹络连接丢失和恢复以及充电时插⼊或拔出都是中断的⽰例。如果发⽣中断,应⽤程序通常应该在后台运⾏并返回到之前的状态。

⼿动测试:⼿动测试是⼀种经过验证的⽅法,可以彻底解决移动应⽤程序测试的复杂性。⼿动测试可确保成品按照计划的预期以最佳⽅式运⾏。在⽤例不是⽴即显⽽易见的情况下,它特别有⽤。专业的 QA 测试⼈员可以在短时间内评估应⽤程序并确保它产⽣准确的结果。

兼容性测试:兼容性测试是最重要的移动应⽤程序测试类型之⼀。它是⼀种⾮功能测试形式,可确保移动应⽤程序在各种操作系统、应⽤程序、设备、内部硬件规格和⽹络条件下的功能。兼容性测试确定移动应⽤程序是否与各种操作系统和版本兼容。它还测试移动应⽤程序与各种设备、浏览器、⽹络和其他特性的兼容性。向后兼容性测试和前向兼容性测试是兼容性测试的两种类型。

本地化测试:针对特定地理位置的移动应⽤程序必须进⾏本地化测试。测试移动应⽤程序对该地区独特语⾔和⽂化⽅⾯的响应能⼒⾄关重要。当地货币、使⽤合适的时区⽇期和时间格式、众多当地法规需求以及⽂本和⽤户界⾯只是本地化测试评估的⼏个重要领域。

功能测试:功能移动应⽤程序测试确保应⽤程序的功能满⾜指定的要求。这种形式的测试主要关注移动应⽤程序的主要⽬标和流程。功能测试确定应⽤程序是否可以正确启动和安装。它还测试了注册和登录的简单性,以及推送通知的呈现以及⽂本框和按钮的正确操作。

安装测试:安装测试,也称为实现测试,是确保移动应⽤程序正确安装和删除的好⽅法。此外,安装测试对于确保更新⽆缝且⽆错误是必要的。安装测试还检查如果⽤户未能更新移动应⽤程序会发⽣什么。

⾃动化测试:某些移动应⽤程序质量评估过于复杂且耗时。在这种情况下,移动应⽤程序测试⾃动化服务开始发挥作⽤,提供最佳准备和有效执⾏的⾃动化测试以及⼿动测试,这有助于确保质量,同时也允许更快地发布优质产品。因此,在移动应⽤程序测试⽅⾯,⾃动化测试是节省时间和成本的可靠来源。有多种⼯具可以执⾏⾃动化测试。Appium就是其中之⼀。

5、Appium适合哪些类型的测试?

在进⾏测试时,可以测试许多场景,尤其是对于 Web 应⽤程序,具体取决于您要确保的功能覆盖率。Appium 在测试⽤户在使⽤您的应⽤程序时会遇到的场景时很有帮助。

另一方面,如果您需要测试的不仅仅是UI简单交互,那么 Appium 就会成为一种限制。考虑诸如键盘输入之类的功能。当涉及复杂的触摸/键盘混合环境时,错误失败的可能性很⼤。使⽤ Appium 交换数据是另⼀个⼩⿇烦。当您的测试需要与您的应⽤程序交换数据时,您需要使⽤各种策略。所以请记住,发送和接收信息并不总是那么简单。这不是 Appium 的错。WebDriver 规范的创建是为了⾃动化流程,⽽不是数据交换。

6、Appium Inspector是什么意思?

Appium 提供了⼀个“Inspector”来记录和回放,类似于 Selenium IDE 的记录和回放⼯具。它检查⽂档对象模型以记录和播放本机应⽤程序⾏为,并以任何⾸选语⾔提供测试脚本。您可以使⽤ Appium Desktop 中的 Inspector 来查找或定位应⽤程序的元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangmcn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值