如何将 Calabash 添加到 React Native iOS for Xamarin.UITest

2024-03-14

如何将 Calabash 框架添加到 React Native 内置的 iOS 应用程序中?

我们正在将 iOS 应用程序的代码库从 Swift 迁移到 React Native,并且我有一套使用 Xamarin.UITest 用 C# 构建的现有 UITests。

我想继续将 Xamarin.UITest 套件用于 React Native iOS 应用程序,但我知道 Xamarin.UITest 需要在应用程序的源代码中链接 Calabash 框架。

Xamarin 有文档 https://developer.xamarin.com/guides/testcloud/calabash/quickstarts/xcode/linking-the-calabash-framework/关于如何为 Xcode 中内置的 iOS 应用程序链接 Calabash,但我找不到任何关于如何为 React Native 中内置的 iOS 应用程序链接 Calabash 的文档。

是否有任何类似的文档显示如何将 Calabash 链接到 React Native iOS 应用程序?


React Native 内置的 iOS 应用程序会自动创建一个.xcodeproj文件并依赖 Xcode 项目进行构建/部署。这是新初始化的 React Native 项目的图像。

Xamarin.UITest 要求将 Calabash 框架链接到 iOS 应用程序。因为 React Native iOS 应用程序依赖于.xcodeproj,我们可以按照与使用 Swift/ObjC 编写应用程序相同的步骤注入 Calabash。要完成此任务,请遵循此教程:在调试配置中链接 Calabash https://github.com/calabash/calabash-ios/wiki/Tutorial%3A-Link-Calabash-in-Debug-config.

在 JavaScript 源代码中,使用以下命令向每个屏幕元素添加唯一标识符accessibilityLabel财产。在这个例子中 https://github.com/brminnick/ReactNativeSampleApp/blob/master/index.ios.js#L31我们已将 TextInput 标识为“TextInputAccessibilityId”。

在 Xamarin.UITest 中,我们现在可以创建一个字段,readonly Query TextInput,并使用相同的属性初始化它:TextInput = x => x.Marked("TextInputAccessibilityId"); https://github.com/brminnick/ReactNativeSampleApp/blob/master/UITests/UITests/Tests.cs#L23。现在我们可以在我们的 Xamarin.UITest 中与这个屏幕元素交互 https://github.com/brminnick/ReactNativeSampleApp/blob/master/UITests/UITests/Tests.cs#L45!

所有测试均在 Xamarin Test Cloud 中进行验证,并且结果可以在这里查看 https://testcloud.xamarin.com/test/com-minnick-samplereactnativeapp_3df4d099-19e8-412e-907d-8dce6391aba0/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Calabash 添加到 React Native iOS for Xamarin.UITest 的相关文章

随机推荐

  • 打印 char 的十进制值

    打印字符的十进制值的程序 include
  • Microsoft.Azure.NotificationHubs 1.0.9 是否与 .NET Core 2.0 兼容?

    我们将NotificationHubs 1 0 9 版与 NetCore 2 0 和 Net Framework 4 7 结合使用 在编译时 我们收到此警告 包 Microsoft Azure NOtificationHubs 1 0 9
  • 在角度4中为不同页面设置不同布局的最佳方法

    我是 Angular 4 的新手 我想要实现的是为应用程序中的不同页面设置不同的布局页眉和页脚 我有三种不同的情况 登录 注册页面 无页眉 无页脚 路线 登录 注册 营销网站页面 这是根路径 它有页眉和页脚 这些部分大多在登录之前出现 路线
  • Java/Wicket:使用资源编译基本的 Hello World

    我正在关注这个 Hello World Wicket 应用程序的示例 https www ibm com developerworks web library wa aj wicket https www ibm com developer
  • JNI - 在 Java 和 Native 代码之间传递大量数据

    我正在努力实现以下目标 1 我在java端有一个代表图像的字节数组 2 我需要让我的本机代码访问它 3 本机代码使用 GraphicsMagick 解码该图像 并通过调用 resize 创建一堆缩略图 它还计算图像的感知哈希 该哈希可以是向
  • Java Web 应用程序中的唯一序列号

    我一直想知道生成唯一 ID 的正确做法是什么 事情是在我的网络应用程序中 我将有一个插件系统 当用户注册一个插件时 我想为其生成一个唯一的序列号 我一直在考虑将所有数字存储在服 务器上的数据库或文件中 生成随机数并检查它是否已存在于数据库
  • 控制 make 的详细程度

    我正在使用 makefile 来编译由许多组成的程序 c文件 并且任何时间make被调用时 它仅编译上次运行后修改的那些文件 直到这里没有什么特别的 为了避免屏幕混乱 我在前面添加了 在每个的开头 CC 打电话 在它之前我打印一个定制的ec
  • Magento 2 设计主题选项卡丢失

    你好 我正在尝试 magento 2 并努力安装新主题 因为设计主题未显示在 商店 gt 配置 gt 设计 下 它已移至内容 设计 配置
  • 在实际设备中安装.apk文件仅用于测试

    我想在实际设备上测试我的应用程序 那么我该如何进行呢 它是附件吗sign in并使用zipalign为此目的 或者它们在准备发布我的申请时有用吗 有没有办法在不使用 eclipse 的情况下在实际设备上测试我的应用程序 下载并安装安卓软件开
  • Spring-mvc-jpa 与 Maven 错误创建 bean

    这是我的第一个问题 我是 Spring MVC 和 Jpa 的新手 我遇到了这个麻烦 我自己无法弄清楚 我尝试在 Google 上搜索 但没有找到与此错误相关的内容 我已将所有配置文件存储在 src main resources META
  • 在 Android 布局中对齐左右边缘的文本视图

    我正在开始使用Android 我无法进行简单的布局 我想用一个LinearLayout到位置二TextViews在单行中 一TextView一个在左侧 另一个在右侧 类似于 CSS 中的 float left float right 这可能
  • Typescript 属性装饰器可以为类设置元数据吗?

    在打字稿中 是否可以使用属性装饰器来设置类的元数据 考虑下面的代码 类装饰器的 目标 显然与属性装饰器的 目标 不同 我可以从另一个派生出一个吗 import reflect metadata const MY CLASS DECORATO
  • 将 int 位转换为 float 位

    我正在创建一个缓冲区 该缓冲区将在横幅中读 写 在其中我可以完全消除 TCP 分段带来的问题 我遇到的唯一问题是浮点变量 除了浮点之外 其他一切都工作正常 我找不到任何有关如何将 int32 位转换为浮点数的信息 将 float 转换为 i
  • 泛型语法:类与原始数据类型

    为什么这个不起作用 ArrayList
  • 嗯,但是在 javascript 中

    我要成为大卫 诺伦的粉丝了嗡图书馆 https github com swannodette om 我想在我们的团队中构建一个不太大的 Web 应用程序 但我无法真正说服我的队友切换到 ClojureScript 有没有一种方法可以使用 o
  • jQuery("#id") 还是 jQuery(document.getElementById("id"))? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 显示性能差异here http jsperf com document getelementbyid vs jquery selector 我应
  • 显示在 SQL Server 中存储为 blob 的图像

    我有一个查询来获取信息图像 q4 SELECT TOP 3 b BadgeName b BadgeImage FROM BadgeImageTable AS b INNER JOIN employee badge AS e ON e bad
  • hibernate.validator.fail_fast 序列

    我的问题是我一一收到验证错误 但不是按顺序 那么有哪位朋友可以告诉我如何根据用户需要按顺序显示错误吗 所以 我希望这是您想要的 或者至少能将您推向正确的方向 在我的控制器中 我有以下方法 RequestMapping value test
  • 在执行 WHERE 之前对 mysql 列进行 base64 解码

    基本上 这是一个很长的故事 但我在数据库中有一个字段被编码为 base64 字符串 EG 这存储在数据库中 YToyOntzOjIwOiJUeXBlX29mX29yZ2FuaXNhdGlvbiI7czoyMDoiTWVtYmVyIG9mIF
  • 如何将 Calabash 添加到 React Native iOS for Xamarin.UITest

    如何将 Calabash 框架添加到 React Native 内置的 iOS 应用程序中 我们正在将 iOS 应用程序的代码库从 Swift 迁移到 React Native 并且我有一套使用 Xamarin UITest 用 C 构建的