Comments (6)
I've done a few quick tests to see if I could find something interesting.
I don't think it's related to size/hit test as even adding a driver.waitFor(_startGameFinder);
before the tap call seems to hang up the driver. I also added a GestureDetector (just in case/to test) around the StartScreenHero to print out when it gets tapped on, but that never happens.
That made me wonder if the presence of the idle animation (basically painting every frame) is somehow holding the driver up, so I removed the animation by having the StartScreenHeroRenderObject always return false here:
@override
bool get isPlaying => false;
This makes it paint the first frame, but not repaint.
That immediately worked/let it continue. It seems like the way we advance animations in Flare is somehow hanging up the driver (it works with the regular testing framework). Does the driver client wait for all painting to settle before propagating data/communicating back? It seems like something of the sort is happening.
from developer_quest.
Aha!
https://docs.flutter.io/flutter/flutter_driver/FlutterDriver/runUnsynchronized.html
By default, Flutter Driver waits until there is no pending frame scheduled in the app under test before executing an action. This mechanism is called "frame sync". It greatly reduces flakiness because Flutter Driver will not execute an action while the app under test is undergoing a transition.
from developer_quest.
This works!
await driver.runUnsynchronized<void>(() {
return driver.tap(_startGameFinder);
});
from developer_quest.
I had to make some other changes to make this work in the themed_tasks branch. Here's the commit:
https://github.com/luigi-rosso/dev_rpg/commit/20d9375350106fb0880b1459bbc19639b8a345f9
from developer_quest.
from developer_quest.
Thanks again! I'm closing this.
from developer_quest.
Related Issues (20)
- PointerExit bug/crash. [p0] HOT 1
- Problem assigning developer to a task
- Not compiling HOT 2
- Split AspectContainer out into separate package? HOT 2
- Open Source Animations in Flare? HOT 2
- New logo/icon proposal HOT 3
- RenderFlex overflowed in Skills Required
- save data
- home about
- Tasks
- RenderFlex overflowed in Skill Required
- build failed (flare_flutter/lib/flare.dart:1023) HOT 4
- The argument type 'Uint16List' can't be assigned to the parameter type 'Int32List' HOT 5
- it like a bug or version issue HOT 4
- Using 'part' is deprecated
- Does it support VueJS
- Casting issue on the stat_badge.dart HOT 4
- how to use cachedActor? HOT 1
- The app doesn't compile HOT 1
- The task tree as a package? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from developer_quest.