我正在为我的应用程序添加集成测试(使用integration_test包),但我遇到了一个问题。
让我解释一下。当我的应用程序启动时,第一步是身份验证,我有3个选项:Firebase电子邮件链接、Firebase Google登录和Firebase Facebook登录。
阻止我的是所有这些登录方法都需要在主应用程序Dart代码之外执行操作,因此Flutter Driver无法访问它们。
我是否遗漏了什么?如果没有,该如何处理这种情况?
干杯!
我正在为我的应用程序添加集成测试(使用integration_test包),但我遇到了一个问题。
让我解释一下。当我的应用程序启动时,第一步是身份验证,我有3个选项:Firebase电子邮件链接、Firebase Google登录和Firebase Facebook登录。
阻止我的是所有这些登录方法都需要在主应用程序Dart代码之外执行操作,因此Flutter Driver无法访问它们。
我是否遗漏了什么?如果没有,该如何处理这种情况?
干杯!
import 'package:flutter_test/flutter_test.dart';
import 'package:patrol/patrol.dart';
void main() {
patrolTest(
'signs in',
nativeAutomation: true,
(PatrolTester $) async {
await $.native.enterText(
Selector(textContains: 'Email'),
text: 'tester@awesomeapp.pl'),
);
await $.native.enterText(
Selector(textContains: 'Password'),
text: 'ny4ncat'),
);
await $.native.tap(Selector(text: 'Continue'));
// you should be signed in
});
}
你可以添加第四种登录方式 - 使用用户名和密码。Firebase 应该支持这种非常常见的情况,所以你可以在几行代码内完成。
如果你不想让最终用户通过密码登录,你可以在生产版本中简单地禁用此方法,并仅在调试版本中启用它。
另一种方法是模拟你的身份验证系统。换句话说,在进行测试时,你有一个名为“伪造登录”的按钮,你的集成测试驱动程序只需点击该按钮即可。