文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

2022年最流行的 iOS 自动化测试工具

2024-12-01 01:38

关注

尽管 iOS 仍然是一个比 Android 更封闭的操作系统,但您可以使用各种免费和开源技术来构建有效的自动化测试。对于使用基于云的测试解决方案的开发人员和测试人员而言,它使 iOS 应用程序测试活动更简单、更高效。

以下是一些带有代码示例的自动化测试框架,您可以使用它们来测试您的 iOS 应用程序。

Appium

作为最受欢迎的开源解决方案之一,Appium 可帮助用户管理适用于 Android、iOS 和 Windows 的混合、移动或本机应用程序。它使开发人员和测试人员能够为移动应用程序构建自动化测试,使他们能够以更低的风险更快地生产高质量的软件。

该应用程序的好处

应用缺点

WebDriver 的 Appium 示例代码

driver.findElement(By.id("com.example.app:id/radio0")).click();
driver.findElement(By.id("com.example.app:id/radio1")).click();
driver.findElement(By.id("com.example.app:id/radio2")).click();
driver.findElement(By.id("
com.example.app:id/editText1")).click();
driver.findElement(By.id("
com.example.app:id/editText1")).sendKeys("Simple Test");
driver.findElement(By.name("Answer")).click();

Calabash

另一个兼容 Android 和 iOS 应用程序的优秀跨平台框架是 Calabash。用 Cucumber 编写的 Calabash 测试是该框架与其他框架的主要区别之一:这意味着虽然测试是基本的且易于阅读,但即使对于非技术人员,自动化系统仍然可以执行测试,因为我们将其编写为规格。

Calabash代码示例Feature:

Answer the Question featureScenario: As a valid user I 
want to answer app questionI wait for text "What is the best way to test
application on hundred devices?"Then I press Radio button 0Then I press Radio
button 1Then I press Radio button 2Then I enter text "Simple Test" into field
with id "editText1"Then I press view with id "Button1"

Earl Gray

Earl Gray 是一个开源的 iOS UI 自动化框架,也是 Google 对 XCUITest 的回应,用于测试 iOS 应用程序。只有 iOS 设备可以使用 Earl Grey,开发人员必须使用 Swift 或 Objective-C 编写测试。Earl Grey 的主要优势在于它将 Espresso 的同步功能扩展到 iOS 应用程序自动化测试,确保自动化不会在应用程序正在使用时尝试执行操作。

EarlGrey的优势易于直接或通过 CacaoPods 添加到 iOS 项目具有有效内部组件同步功能的多功能框架完整的框架是开源的。

结合 XCodeEarlGrey 示例代码// Objective-C- (void)testInvokeCustomSelectorOnElement 
{[[EarlGrey
selectElementWithMatcher:grey_accessibilityID(@"id_of_element")]performAction:[GREYActionBlock
actionWithName:@"Invoke clearStateForTest selector"performBlock:^(id element,
NSError *__strong *errorOrNil) {[element doSomething];return YES; // Return YES
for success, NO for failure.}]];}

XCUI test

在 iPad 和 iPhone 等 iOS 设备上,XCUITest 是用于 UI 测试移动应用程序和在线应用程序的测试自动化框架。它是 Apple 测试基础设施的一部分。XCUITest 提供了一个框架,该框架支持以编程方式识别和与来自其他测试工具的 UI 组件进行交互。到 2022 年,唯一支持的 iOS UI 交互库是 XCUITest,它取代了过时的 UIAutomator 技术。

XCUITest优势您可以使用 Swift 或 Objective-C 来编写您的应用程序和测试代码,并且两者都可以完全在 XCode 中修改并存储在同一个存储库中。由于XCUITest 和 iOS可以很好地协同工作,因此测试可能比使用竞争框架运行得更快。

通过在观察用户与链接的模拟器或真实设备的交互的同时创建测试代码,XCode 的“记录”功能可以进行测试。然后您可以修改记录的测试代码以生成可信赖、可重复的测试,从而在测试创建期间节省时间。测试人员可以使用 XCUITest 通过元素的、标签、值或占位符值来定位元素。仅出于测试目的,XCUIElements 还可以具有特定的“可访问性标识符”,使查找元素变得快速而简单。

XCUITest 缺点您的团队用于运行 XCUITest 的每台计算机,包括测试计算机和 CI/CD 设置,都必须安装 XCode。最好使用 XCUITest 运行器运行测试;您不能独立于 XCUITest 框架运行 XCUITest 代码。Swift 和 object-C 是唯一可用的编程语言。

XCode 示例代码:

(void) testAdditionPerformance {[self 
measureBlock:^{// set the initial state[calcViewController press:[calcView
viewWithTag: 6]]; // 6// iterate for 100000 cycles of adding 2for (int i=0;
i<100000; i++) {[calcViewController press:[calcView viewWithTag:13]]; //
+[calcViewController press:[calcView viewWithTag: 2]]; // 2[calcViewController
press:[calcView viewWithTag:12]]; // =}}];}

结论尝试设置您的测试功能是一项挑战。此外,iOS 设备测试需要专业知识。测试自动化平台可以帮助测试 iOS 设备。这些平台可让您连接到全球支持 SIM 卡的 iOS 设备。通过此类平台,您可以获得可操作的见解,帮助您改进 iOS 应用程序。

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯