搜索插件、代码仓与 APP 分类

GitHub 代码仓jod-li/flutster

flutster

使用此 Widget 记录您的 Flutter UI 测试。将 UI 测试保存下来,以便自动重复播放。

flutster 项目封面
星标
3
复刻
1
最近推送(UTC)
2023年9月18日
项目状态
已归档

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

Flutster

Easy Flutter app integration testing automation as replayable records.

Purpose

Conduct integration testing in a Flutter application by recording user events and comparing widget screenshots.

Easily detect errors in UI such as layout issues, unexpected behavior, and more with Flutster.

Use cases:

  • Recording user events such as clicks and taps on widgets
  • Track widget behavior and detect sources of UI issues
  • Compare widgets with screenshots for difference using a variety of algorithms
  • Simulate robo testing on Flutter apps
  • Store recordings of your application

What you can track

Taps:

  • Time the tap occurred
  • Location of a tap
  • Duration of a tap
  • Widget tracking the event

Keys:

  • Time the key press occurred
  • Character of key pressed
  • Duration of a key press
  • Widget tracking the event

Screenshots:

  • Time the screenshot was taken
  • Comparison function used to compare screenshots
  • Widget tracking the event

Platforms

Flutster has only been tested with Android.

Example

An example of use for this plugin is available under the example folder.

Dependency

Add to pubspec.yaml

dependencies:
  flutster:

Import:

import 'package:flutster/flutster.dart';

How to use

Method One: Replace or place one Scaffold per page you want to test with a FlutsterScaffold. For example:

   return FlutsterScaffold(
      name: "myUniqueWidgetName",
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ...
    );

Method Two: Create the FlutsterTestRecorder and reference the widgets to test.

FlutsterTestRecorder(
  name: "myUniqueWidgetName",
  child: myWidget,
)

Once the Flutster plugin is integrated in your Android application, run the application either on an Android emulator or on a physical device with the help of scrcpy.

Use the Flutster menu to record widgets. Interact with your application to record user events. Store and playback recordings to test.

Documentation

Flutster documentation is available at site.flutster.com.

Feature requests/comments/questions/bugs

Feel free to log your feature requests/comments/questions/bugs here: https://github.com/jod-li/flutster/issues

Contributions

We would be happy to merge pull request proposals provided that:

  • they don't break the compilation
  • they provide the relevant adaptations to documentation
  • they bring value
  • they don't completely transform the code
  • they are readable

Contributions and forks are very welcome!

In your pull request, feel free to add your line in the contributors section below:

Contributors

CI/CD

Continuous integration/deployment status: CI-CD

jod.li GitHub avatar
GitHub 作者

jod.li ↗

United Kingdom官方网站 ↗
语言DartShellKotlin

分类

使用的依赖

依赖清单 9 项

如何选择适合项目的代码仓?

先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。

  1. 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
  2. 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
  3. 使用前在 GitHub 核对 README、许可证与 Issues。

来源与维护

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗