我正在尝试运行一个集成测试,该测试高度依赖于用户点击他在电子邮件中获得的神奇链接。到目前为止,我没能找到一种方法来做到这一点。我遇到了Process.run
,但它似乎应该在集成测试开始之前运行,我需要在测试期间进行。
我们将非常感谢您对iOS或Android的任何帮助。
这是我迄今为止尝试在iOS上工作的代码,但Process.run
以ProcessException: No such file or directory
:结束
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
testWidgets('login test', (WidgetTester tester) async {
app_sandbox.main();
await tester.pumpAndSettle(Duration(seconds: 5));
expect(find.text('foo'), findsOneWidget);
await Process.run('xcrun', [
'simctl',
'openurl',
'7D6DEC47-C1E2-4F18-A38B-7B4C17558172',
'https://myDeepLink/sign-in',
]);
await tester.pumpAndSettle();
});
}
这可能只适用于flatter_driver
await Process.run('xcrun', [
'simctl',
'openurl',
'booted',
'https://myDeepLink/sign-in'
]).then((result) {
stdout.write(result.stdout);
stderr.write(result.stderr);
});
不带集成的testWidgets_test
在那里我得到了这个错误:
> Error occured: DriverError: Failed to fulfill RequestData due to
> remote error Original error: ext.flutter.driver: (112) Service has
> disappeared Original stack trace:
> #0 new _OutstandingRequest (package:vm_service/src/vm_service.dart:1746:45)
> #1 VmService._call (package:vm_service/src/vm_service.dart:2262:21)
> #2 VmService.callServiceExtension (package:vm_service/src/vm_service.dart:2233:14)
> #3 VMServiceFlutterDriver.sendCommand (package:flutter_driver/src/driver/vmservice_driver.dart:306:66)
> #4 FlutterDriver.requestData (package:flutter_driver/src/driver/driver.dart:522:45)
> #5 integrationDriver (package:integration_test/integration_test_driver_extended.dart:51:38)
> <asynchronous suspension>