如何将 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(使用前将#替换为@)