尽管我们并未正式支持 AWS Device Farm 上的 Flutter 框架和 Flutter 测试,但我们确实有办法让您使用我们的“自定义环境模式”并通过预先选择不同的受支持框架来运行这些测试。我的建议是执行以下操作:
- 我有一个非常小的 Appium Python 虚拟测试,这是一个位于https://s3-us-west-2.amazonaws.com/aws-devicefarm-support/test_bundle_slim.zip的受支持的测试框架。从那里下载它,然后使用命令行工具 zip,将本地测试添加到这个 zip 文件中,使用诸如“zip -r ~/Downloads/test_bundle_slim.zip flutter-tests/”之类的命令
- 转到 AWS Device Farm,设置自动化测试运行,上传您的应用程序,然后进入您选择测试类型的屏幕。选择 Appium Python,上传您的 zip 文件,AWS Device Farm 将接受测试,因为我们在 zip 文件中留下了原始的虚拟 Appium Python 文件。
- 在下面选择“自定义您的测试环境”,下面会出现一个带有 YAML 测试规范文件的新窗口。将以下几行放在测试规范的预测试部分中,以代替用于启动 Appium 服务器的现有代码:
{代码}
- >-
if [ $DEVICEFARM_DEVICE_PLATFORM_NAME = "Android" ];
then
# Run EC2 setup code here
curl https://storage.googleapis.com/flutter_infra/releases/beta/linux/flutter_linux_v0.11.3-beta.tar.xz -o flutter_linux_v0.11.3-beta.tar.xz
tar xf flutter_linux_v0.11.3-beta.tar.xz
fi
if [ $DEVICEFARM_DEVICE_PLATFORM_NAME = "iOS" ];
then
# Run Mac setup code here
curl https://storage.googleapis.com/flutter_infra/releases/beta/macos/flutter_macos_v0.11.3-beta.zip -o flutter_macos_v0.11.3-beta.zip
unzip -qq flutter_macos_v0.11.3-beta.zip
fi
- mv flutter ~/flutter
- echo "export PATH=$PATH:$HOME/flutter/bin">> ~/.bash_profile
- export PATH=$PATH:$HOME/flutter/bin
- flutter devices
{代码}
- 同样,转到测试规范文件的测试部分并删除 python 测试命令“bin/py.test”并将其替换为您的 Flutter 测试命令,例如“flutter drive --target=./flutter-tests/main” 。镖
- 保存并关闭此测试规范文件,然后通过选择您的设备并设置它们的状态来完成设置自动化运行。
祝您在 AWS Device Farm 上测试顺利!我已经确认这些步骤确实可以在我们的测试平台上正确设置 Flutter。