如何将 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 的相关文章

  • React Native:不透明视图内的透明视图

    我想用不透明框架和透明中心显示相机的视图 就像图片中的一样 黑色部分是相机的视图 我正在寻找具有纯反应本机组件的解决方案 没有额外的库 例如https github com gilbox react native masked view h
  • React-navigation、tintColor 在 props 验证中丢失

    我已将反应导航代码放入单独的 Routes 文件中 然后将其导入到 App js 文件中 一切工作正常 但我在 Atom Nuclide 中使用 Airbnb ESLint 配置 并收到了 TintColor 错误 道具验证中缺少tintC
  • React-native-super-grid 在回调期间刷新网格

    我在网格中显示项目 并且每个项目都进行了分类 如果我按类别图像 我只想过滤所选类别的网格项目 这是我的实现代码 每当我按下一个类别时 我都会得到thispressRow 方法内的对象 但是this setState items catego
  • 如何获取 React Native 组件类的字符串名称?

    我想要以字符串格式打印类名 以编程方式进行本机反应 谁能告诉我 我该怎么做 在 JavaScript 中 您可以使用以下方式获取类的名称instance constructor name class Demo extends React C
  • React Native 反应导航 SafeArea 问题

    我更新了我的android项目 react navigation was 3 x 搬去5 x 决定实施必要的更改 但它不想工作 从反应导航页面复制了示例 但仍然显示相同的错误 有人知道问题出在哪里吗 当我用谷歌搜索一半的互联网时找不到解决方
  • EXPO:无法解析模块“./debugger”

    重新加载后 我的应用程序已停止加载 A 我已经尝试过模拟器和 2 个真实设备 android 和 ios 错误是 错误 无法解析模块 debugger ui debuggerWorker d9da4ed7来自 有时我会收到错误 无法找到实例
  • 在反应本机中共享一行的两个按钮

    我有两个看起来像这样的按钮 这是代码 render gt
  • 如何使用反应导航在导航抽屉中添加部分分隔符

    假设我的抽屉导航中有五个项目 我想在三个项目之后添加分隔符 如何使用反应导航添加它 正如提到的 vonovak 你可以通过使用来实现这一点contentComponent允许完全定制抽屉 为此 您需要创建自定义组件来覆盖默认抽屉 代码示例
  • 如何为 HOC 创建共享状态?

    我创造了LoadBookHOC包裹着BookDetails and BookSummary成分 LoadBookHOC js const LoadBookHOC InnerComponent gt class LoadBook extend
  • React Native 模块中的 EADemo 永远不会收到委托方法handleEvent NSStreamEventOpenCompleted?

    我希望我有一个反应本机桥接模块 https facebook github io react native docs native modules ios html 线程 委托或生命周期问题 我不明白这些问题正在阻止接收委托方法调用 我需要
  • React Native Flatlist 不会在自定义动画底部表内滚动

    我创建了一张自定义动画底部表 用户可以上下移动底部滚动条 在我的底部工作表中 我使用了 flatList 来获取数据并将项目呈现为卡片 到目前为止 一切都按预期工作 但我遇到了平面列表滚动问题 在底部工作表内 平面列表不会滚动 我已经硬编码
  • 如何将变量传递给函数引用?

    在 React Native 中 当你有需要在渲染时运行并且必须传递变量的函数时 大多数人建议应该使用 onPress gt this functionName variable 然而 当处理大型列表和复杂组件时 您必须优化代码 为每个 r
  • 如何在 React Native 中做最后一个子选择器?

    我使用Scrollview 里面有3个视图 我在它们之间留了一个间隙 例如 marginRight 5 但我不希望在最后一个视图中出现这种间隙 这就是为什么我需要这种东西 你能帮助我吗 应用这个你就可以实现你在寻找什么 const styl
  • React Native 输入组件仅接受数值

    在React Native项目中 我有一个来自Native Base的输入组件 我希望这个组件只接受数值0 9并给这个字段默认值 我寻找了关于这个问题的其他问题 我不知道也许那些答案是针对 textInput 组件的 或者不知何故建议对我不
  • React Native + Redux:最好和首选的导航是什么?

    我想将 Redux 用于 React Native 目前我没有设置数据管理 所以index ios js有以下内容 renderScene route navigator this navigator navigator return
  • React Native:约束 Animated.Value

    我正在制作一个 React Native 应用程序 场景是这样的 我希望用户能够平移视图 但不完全按照他想要的方式 我想约束视图被拖动时可以移动的距离由用户 我已经阅读了两者的文档PanResponder and AnimatedAPI 多
  • 在React Native中在Android真实设备上运行应用程序时console.log输出在哪里

    我目前正在做一个项目 在那个项目中 我正在打印控制台日志但没有消息在任何地方打印 我在用npm 和 React native cli在真正的 Android 设备上运行 Thanks 如果您使用模拟器 可以按 Cmd M Android 或
  • 打包器无法启动

    我想我在某个时候升级了节点 现在当我尝试使用以下命令运行打包程序时npm start它抱怨 npm start react native start Looks like you installed react native globall
  • 我在 Facebook 上的“access_token”是“不正确的值”

    我正在使用 django rest auth 它是 Django all auth 的 API 扩展 我正在构建一个可以使用 Facebook 令牌注册 登录的移动应用程序 网址 http localhost 8000 rest auth
  • 为什么当我保存更改时,Expo 没有刷新?

    当我进行更改并保存它们时 模拟器中的应用程序不会刷新 我认为模拟器没有连接到 Metro 服务器 我尝试通过运行清除缓存expo r c 但这没有做任何事情 您是否尝试启用快速刷新 我遇到了同样的问题 但在启用 快速刷新 后 自动刷新再次开

随机推荐

  • 打印 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 构建的