用于iOS中自动UI测试的Firebase服务器?

时间:2017-04-08 19:27:53

标签: ios swift xcode firebase xcode-ui-testing

有没有人使用Urish' firebase-server用于在XCode中进行隔离的UI测试?

Firebase服务器组件的资源,看起来很棒btw(文章中的github链接)!

我在

之后的事情

我希望能够测试如下所示的场景。

  • 我正在构建一个具有相当高级UI逻辑的应用程序(例如拖放),我想要一种在firebase中设置测试数据的方法,我可以运行测试并将数据重置到前一阶段。
  • 我还确定地测试登录的用户登录用例,因为登录的用例设置了我想要检查的核心数据等,如果正确完成,并且在记录时不会覆盖数据再次出/等等。
  • 我将数据本地存储在核心数据中,我通过合并等同步了firebase。我想测试以下场景:用户更新的firebase(通过其他设备或网络),同时他们的主要设备处于脱机状态以及主设备如何将在应用程序启动时同步和更新其核心数据对象等。

我的一般方法是,在我的单元测试中,我可以模拟firebase连接等,但是通过我的UI测试,我想测试更多'端到端'场景 - 最好只模拟网络/等。

什么'我已经完成了

我发现了Urish' firebase服务器[https://firebase.googleblog.com/2015/04/end-to-end-testing-with-firebase-server_16.html:here]所以我通过节点npm

安装它
  1. 确保我已安装homebrew
  2. 通过自制软件安装node
  3. 在我的hosts文件中添加了用于测试的条目(我使用了127.0.0.1 localhost
  4. 我将DATABASE_URL中的GoogleService-Info.plist更新为ws://localhost:5000
  5. 我将测试数据存储在firebase中,因此我将其导出到TestData/4Projects3Levels.json
  6. 在新终端中启动了firebase服务器(我的环境是MAC)node_modules/.bin/firebase-server -f TestData/4Projects3Levels.json
  7. 现在我运行应用程序我得到以下错误。似乎应用无法连接到Firebase中的数据库。我该怎么办?

    *** Terminating app due to uncaught exception 'No Firebase database specified.', reason: 'No Firebase database found for input: '
    *** First throw call stack:
    (
        0   CoreFoundation                      0x000000010a654b0b __exceptionPreprocess + 171
        1   libobjc.A.dylib                     0x0000000109ca4141 objc_exception_throw + 48
        2   CoreFoundation                      0x000000010a6bd625 +[NSException raise:format:] + 197
        3   Nasta iOS                           0x0000000108202a82 +[FUtilities parseUrl:] + 791
        4   Nasta iOS                           0x000000010822e896 +[FIRDatabase databaseForApp:] + 342
        5   Nasta iOS                           0x000000010822e720 +[FIRDatabase database] + 102
        6   Nasta iOS                           0x000000010813e31d _TFIZvV9Nasta_iOS14InjectorMapper23firebaseDBRootReferenceFT_CSo20FIRDatabaseReferenceiU_FT_S1_ + 61
        7   Nasta iOS                           0x000000010812006a _TFE9Nasta_iOSPS_31FirebaseRootDBReferenceInjectedg23firebaseDBRootReferenceCSo20FIRDatabaseReference + 58
        8   Nasta iOS                           0x0000000108120117 _TFC9Nasta_iOS13FirebaseStorecfT_S0_ + 103
    

0 个答案:

没有答案