framy 1.0.1

Framy generates svg file that shows nesting hierarchy of the views in the app.

Framy provides two main methods:

  • Future takeScreenshot(String screenshotName) - which takes screenshot of the current view of the app. To take screenshot FlutterDriver object is required.
  • void generateWireFrames(String directoryPath, String initialFileName) - which generates svg file that shows the nesting hierarchy of the views in the app. Every node is represented by image and name.

Usage #

A simple usage example in tests:

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

void main() {
  FlutterDriver driver;
  Framy framy;

  setUpAll(() async {
    driver = await FlutterDriver.connect();
    framy = Framy(driver: driver, groupName: 'app');
  });

  test('application test', () async {
     await driver.waitFor(find.byType('Scaffold'));
       await framy.takeScreenshot('1-initial_page');
       await driver.tap(find.byType('FloatingActionButton'));
       await framy.takeScreenshot('1.1-first_child_page');
       await driver.tap(find.byType('FloatingActionButton'));
       await driver.tap(find.byType('FloatingActionButton'));
       await framy.takeScreenshot('1.2-second_child_page');
       await driver.tap(find.byType('FloatingActionButton'));
       await driver.tap(find.byType('FloatingActionButton'));
       await driver.tap(find.byType('FloatingActionButton'));
       await framy.takeScreenshot('1.1.1-first_child_first_child_page');
       await driver.tap(find.byType('FloatingActionButton'));
       await framy.takeScreenshot('1.1.2-first_child_second_child_page');
       framy.generateWireFrames('framy/app', '1-initial_page');
  });
}

Above code will produce svg file output. This file will contain the screenshots that were taken during the test. The nesting hierarchy will look like this:

nesting hierarchy of the app views

Every file that will be considered has to be built from two main parts separated by '-'. First part shows the nesting hierarchy of the views in the app. Every dot means deeper view of the app. Second part contains name of the screenshot that will be displayed in svg file - name cannot include spaces.

1-initial_page.png, 1.1-home_page.png, 1.2.1-page_1.png are valid file names. 1.png, 1-home page.png, 1.-.png are invalid file names.

1.0.1 #

  • Updated dependencies

1.0.0 #

  • Initial version

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  framy: ^1.0.1

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter pub get

Alternatively, your editor might support pub get or flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:framy/framy.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
50
Learn more about scoring.

We analyzed this package on Feb 10, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.5

Maintenance suggestions

Maintain an example.

None of the files in the package's example/ directory matches known example patterns.

Common filename patterns include main.dart, example.dart, and framy.dart. Packages with multiple examples should provide example/README.md.

For more information see the pub package layout conventions.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.7.0 <3.0.0
flutter_driver 0.0.0
image ^2.1.4 2.1.4 2.1.12
Transitive dependencies
archive 2.0.11 2.0.13
args 1.5.2
async 2.4.0
boolean_selector 1.0.5 2.0.0
charcode 1.1.2
collection 1.14.11 1.14.12
convert 2.1.1
crypto 2.1.3 2.1.4
file 5.1.0
flutter 0.0.0
flutter_test 0.0.0
fuchsia_remote_debug_protocol 0.0.0
intl 0.16.0 0.16.1
json_rpc_2 2.1.0
matcher 0.12.6
meta 1.1.8
path 1.6.4
pedantic 1.8.0+1 1.9.0
petitparser 2.4.0 3.0.0
platform 2.2.1
process 3.0.12
pub_semver 1.4.2
quiver 2.0.5 2.1.2+1
sky_engine 0.0.99
source_span 1.5.5 1.6.0
stack_trace 1.9.3
stream_channel 2.0.0
string_scanner 1.0.5
term_glyph 1.1.0
test_api 0.2.11 0.2.14
typed_data 1.1.6
vector_math 2.0.8
vm_service_client 0.2.6+2 0.2.6+3
web_socket_channel 1.1.0
xml 3.5.0 3.7.0
Dev dependencies
test ^1.6.0