All Projects → VeryGoodOpenSource → very_good_performance

VeryGoodOpenSource / very_good_performance

Licence: MIT license
Utility on top of the Flutter Driver API that facilitates measuring the performance of your app in an automated way created by Very Good Ventures 🦄

Programming Languages

C++
36643 projects - #6 most used programming language
dart
5743 projects
CMake
9771 projects
HTML
75241 projects
c
50402 projects - #5 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to very good performance

angular-webpack-skeleton
This project is deprecated. Please refer to https://github.com/Ks89/angular-cli-skeleton
Stars: ✭ 16 (-79.49%)
Mutual labels:  test, e2e
alexa-skill-clean-code-template
Alexa Skill Template with clean code (eslint, sonar), testing (unit tests, e2e), multi-language, Alexa Presentation Language (APL) and In-Skill Purchases (ISP) support. Updated to ASK-CLI V2.
Stars: ✭ 34 (-56.41%)
Mutual labels:  test, e2e
angular-cli-skeleton
angular-cli skeleton to quickly start a new project with advanced features and best practices. All features are described in README.md.
Stars: ✭ 32 (-58.97%)
Mutual labels:  test, e2e
jest-retry
Jest retry pattern for flaky E2E tests
Stars: ✭ 36 (-53.85%)
Mutual labels:  test, e2e
Cypress Svelte Unit Test
Unit testing Svelte components in Cypress E2E test runner
Stars: ✭ 110 (+41.03%)
Mutual labels:  test, e2e
Tib
Easy e2e browser testing in Node
Stars: ✭ 64 (-17.95%)
Mutual labels:  test, e2e
skywalking-infra-e2e
Apache SkyWalking Infra E2E
Stars: ✭ 30 (-61.54%)
Mutual labels:  test, e2e
Testcafe
A Node.js tool to automate end-to-end web testing.
Stars: ✭ 9,176 (+11664.1%)
Mutual labels:  test, e2e
Javascript Testing Best Practices
📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2021)
Stars: ✭ 13,976 (+17817.95%)
Mutual labels:  test, e2e
cypress-maildev
Cypress Maildev is a bunch of Cypress commands in order to test your messages (SMS and Emails) by using Maildev REST API.
Stars: ✭ 19 (-75.64%)
Mutual labels:  test, e2e
phpunit-injector
Injects services from a PSR-11 dependency injection container to PHPUnit test cases
Stars: ✭ 62 (-20.51%)
Mutual labels:  test
ngx-testbedder
CLI tool for writing the test bed for Angular integration test
Stars: ✭ 13 (-83.33%)
Mutual labels:  test
protractor-cli
🎯 An Interactive command line interface & config helper for Protractor.js !
Stars: ✭ 14 (-82.05%)
Mutual labels:  e2e
threat9-test-bed
No description or website provided.
Stars: ✭ 26 (-66.67%)
Mutual labels:  test
cypress-page-object
Represent the screens of your website as a series of objects in your Cypress test suite
Stars: ✭ 23 (-70.51%)
Mutual labels:  e2e
goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report.
Stars: ✭ 3,019 (+3770.51%)
Mutual labels:  test
pest-plugin-laravel-octane
⛽ Pest plugin to test Laravel applications powered by Octane.
Stars: ✭ 21 (-73.08%)
Mutual labels:  test
PixelTest
Fast, modern, simple iOS snapshot testing written purely in Swift.
Stars: ✭ 56 (-28.21%)
Mutual labels:  test
TestTarget
🐳 Notes on configuring test targets
Stars: ✭ 44 (-43.59%)
Mutual labels:  test
ara
Agile Regression Analyzer
Stars: ✭ 74 (-5.13%)
Mutual labels:  test

Very Good Performance

Very Good Ventures Very Good Ventures

Developed with 💙 by Very Good Ventures 🦄

ci coverage pub package License: MIT style: very good analysis


Utility on top of the Flutter Driver API that facilitates measuring the performance of your app in an automated way

Usage

very_good_performance.yaml

Add a new file at root of your project named very_good_performance.yaml with the following fields.

You can modify these values to match your own performance expectations.

performance_report:
  directory: performance/reports
integration_test_expectations:
  should_fail_build_on_warning: true
  should_fail_build_on_error: true
performance_metrics:
  missed_frames_threshold:
    warning: 5
    error: 10
  average_frame_build_rate_threshold:
    warning_time_in_milliseconds: 14.0
    error_time_in_milliseconds: 16.0
  worst_frame_build_rate_threshold:
    warning_time_in_milliseconds: 14.0
    error_time_in_milliseconds: 16.0

Running tests with FlutterDrive

Simply wrap your FlutterDriver tests with the method capturePerformanceReport to start collecting performance information

test('tapping on the Increment button updates the counter', () async {
  await driver.capturePerformanceReport(
    reportName: 'counter_performance',
    action: () async {
      await driver.tap(find.byType(FloatingActionButton));
      expect(await driver.getText(find.text('1')), '1');
      await driver.tap(find.byType(FloatingActionButton));
      expect(await driver.getText(find.text('2')), '2');
    },
  );
});

At the end of the execution, you will see a similar report to this one:

Performance Report

Running the example project

You can find an example project that showcases how to use this library.

$> cd example
$> flutter drive --target=e2e/e2e.dart --driver=e2e/counter_test.dart -d macos --profile

You should see the Counter app running and, at the end of the execution, it will print the performance overview in the console, and will generate the performance reports under e2e/performance/reports.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].