AppiumFlutterDriver不支持在失败用例中截屏。
创始人
2024-09-10 11:00:46
0

可以使用Dart语言自带的截图功能来解决这个问题。示例代码如下:

import 'dart:io';
import 'package:flutter_driver/flutter_driver.dart';
import 'package:test/test.dart';

void main() {
  FlutterDriver driver;

  setUpAll(() async {
    driver = await FlutterDriver.connect();
  });

  tearDownAll(() async {
    if (driver != null) {
      driver.close();
    }
  });

  test('例子', () async {
    await driver.tap(find.byValueKey('button'));
    await driver.waitFor(find.text('Success'));
  }, onPlatform: {
    // 对于Android设备
    'android': RemotePlatformBuilder()
        .addCommand(const TakeScreenshot())
        .build()
  });
}

class TakeScreenshot extends Command {
  @override
  final String kind = 'takeScreenshot';

  @override
  Future> run() async {
    final List pixels = await FlutterDriverUtils.capture(driver);
    final File file = File('.dart_tool/screenshots/screenshot.png');
    await file.writeAsBytes(pixels);
    return {};
  }
}

代码中的 TakeScreenshot 类继承自 Command 类,它会调用 FlutterDriverUtils.capture 方法来获取当前屏幕的像素数据,然后将像素数据保存为一张png格式的图片。在测试方法中,onPlatform 参数为一个映射,指定了在Android设备上运行这个测试时需要执行哪些操作,这里添加了一个 TakeScreenshot 命令,表示在用例失败时需要进行截图操作。

相关内容

热门资讯

记者揭秘!poker外挂(透视... 记者揭秘!poker外挂(透视)透视辅助软件(2021已更新)(哔哩哔哩)1、让任何用户在无需pok...
四分钟攻略!新猴王大厅牛牛辅助... 四分钟攻略!新猴王大厅牛牛辅助,福建八闽麻将有挂,力荐教程(确实有挂),您好,八闽麻将这款游戏可以开...
推荐十款!四川乐乐麻将,雀神小... 推荐十款!四川乐乐麻将,雀神小程序源码,介绍教程(有挂技巧);四川乐乐麻将黑科技是一款具有ia特色的...
科普攻略(pokerworld... 科普攻略(pokerworld软件)外挂透明挂辅助工具(透视)辅助教程(2023已更新)(哔哩哔哩)...
实测揭晓!红龙poker正规吗... 您好,poker这款游戏可以开挂的,确实是有挂的,需要了解加微【285696317】很多玩家在这款游...
9分钟实锤!财神十三张提高胜率... 您好,财神十三张这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款游...
今日科普!云南天天麻将有挂,七... 1、今日科普!云南天天麻将有挂,七彩云南辅助器下载,教你教程(有挂秘籍)2、进入游戏-大厅左侧-新手...
玩家必用(WePoke)外挂辅... 玩家必用(WePoke)外挂辅助app(透视)软件透明挂(2022已更新)(哔哩哔哩);WePoke...
总算了解!wepoke透明挂(... 总算了解!wepoke透明挂(辅助挂)其实真的有挂2021已更新)(哔哩哔哩)1、每个玩家都可以进行...
一分钟科普!兴动互娱扑克辅助器... 一分钟科普!兴动互娱扑克辅助器,欢乐麻将系统故意让你输,规律教程(有挂教学)是一款可以让一直输的玩家...