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

iOS中用于自动UI测试的Firebase服务器?,ios,swift,xcode,firebase,xcode-ui-testing,Ios,Swift,Xcode,Firebase,Xcode Ui Testing,有没有人在XCode中成功地将URI的firebase服务器用于独立的UI测试 Firebase服务器组件的资源,这看起来非常棒,顺便说一句(文章内部的github链接) 我在追求什么 我希望能够像下面这样测试场景 我正在构建一个具有一些相当高级的UI逻辑(例如拖放)的应用程序,我希望有一种在firebase中设置测试数据的方法,可以对其运行测试并将数据重置到前一阶段 我还在决定性地测试登录和注销的用例,因为登录的用例设置了核心数据等。我想检查的是是否正确完成,如果再次注销/登录,不会覆

有没有人在XCode中成功地将URI的firebase服务器用于独立的UI测试

Firebase服务器组件的资源,这看起来非常棒,顺便说一句(文章内部的github链接)

我在追求什么 我希望能够像下面这样测试场景

  • 我正在构建一个具有一些相当高级的UI逻辑(例如拖放)的应用程序,我希望有一种在firebase中设置测试数据的方法,可以对其运行测试并将数据重置到前一阶段
  • 我还在决定性地测试登录和注销的用例,因为登录的用例设置了核心数据等。我想检查的是是否正确完成,如果再次注销/登录,不会覆盖数据等
  • 我将数据本地存储在我通过合并等方式与firebase同步的核心数据中。我想测试一些场景,例如:当用户的主设备脱机时,用户更新了firebase(通过另一个设备或web),以及主设备在应用程序启动时如何同步和更新其核心数据对象等
我的一般方法是,在我的单元测试中,我可以模拟firebase连接等。但在我的UI测试中,我想测试更多的“端到端”场景——最好只模拟网络等

我做了什么 我发现了Urish的firebase服务器[所以我通过节点npm安装了它

  • 确保我安装了
    homebreaw
  • 通过自制安装的
    节点
  • 在我的主机文件中添加了用于测试的条目(我使用了
    127.0.0.1 localhost
  • 我将
    GoogleService Info.plist
    中的
    数据库URL
    更新为
    ws://localhost:5000
  • 我将测试数据存储在firebase中,因此我将其导出到
    TestData/4Projects3Levels.json
  • 在新终端中启动firebase服务器(我的环境是MAC)
    node\u modules/.bin/firebase服务器-f TestData/4Projects3Levels.json
  • 现在我运行该应用程序时出现以下错误。该应用程序似乎无法连接到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