WebFlutterDriver class

An implementation of the Flutter Driver using the WebDriver.

Example of how to test WebFlutterDriver:

  1. Launch WebDriver binary: ./chromedriver --port=4444
  2. Run test script: flutter drive --target=test_driver/scroll_perf_web.dart -d web-server --release
Inheritance

Constructors

WebFlutterDriver.connectedTo(FlutterWebConnection _connection)
Creates a driver that uses a connection provided by the given _connection.

Properties

appIsolate → VMIsolate
Getter of appIsolate
read-only, override
serviceClient → VMServiceClient
Getter of serviceClient
read-only, override
startTime DateTime
Start time for tracing
@visibleForTesting, read-only
hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

clearTimeline({Duration timeout: kUnusuallyLongTimeout}) Future<void>
Clears all timeline events recorded up until now. [...]
override
close() Future<void>
Closes the underlying connection to the VM service. [...]
override
screenshot() Future<List<int>>
Take a screenshot. [...]
override
sendCommand(Command command) Future<Map<String, dynamic>>
Sends command to the Flutter Driver extensions. This must be implemented by subclass. [...]
override
startTracing({List<TimelineStream> streams: const [TimelineStream.all], Duration timeout: kUnusuallyLongTimeout}) Future<void>
Starts recording performance traces. [...]
override
stopTracingAndDownloadTimeline({Duration timeout: kUnusuallyLongTimeout}) Future<Timeline>
Stops recording performance traces and downloads the timeline. [...]
override
traceAction(Future action(), {List<TimelineStream> streams: const [TimelineStream.all], bool retainPriorEvents: false}) Future<Timeline>
Runs action and outputs a performance trace for it. [...]
override
waitUntilFirstFrameRasterized() Future<void>
Waits until the next Window.onReportTimings is called. [...]
override
checkHealth({Duration timeout}) Future<Health>
Checks the status of the Flutter Driver extension.
inherited
enterText(String text, {Duration timeout}) Future<void>
Enters text into the currently focused text input, such as the EditableText widget. [...]
inherited
forceGC() Future<void>
Force a garbage collection run in the VM. [...]
inherited
getBottomLeft(SerializableFinder finder, {Duration timeout}) Future<DriverOffset>
Returns the point at the bottom left of the widget identified by finder. [...]
inherited
getBottomRight(SerializableFinder finder, {Duration timeout}) Future<DriverOffset>
Returns the point at the bottom right of the widget identified by finder. [...]
inherited
getCenter(SerializableFinder finder, {Duration timeout}) Future<DriverOffset>
Returns the point at the center of the widget identified by finder. [...]
inherited
getLayerTree({Duration timeout}) Future<LayerTree>
Returns a dump of the layer tree.
inherited
getRenderObjectDiagnostics(SerializableFinder finder, {int subtreeDepth: 0, bool includeProperties: true, Duration timeout}) Future<Map<String, Object>>
Returns a JSON map of the DiagnosticsNode that is associated with the RenderObject identified by finder. [...]
inherited
getRenderTree({Duration timeout}) Future<RenderTree>
Returns a dump of the render tree.
inherited
getSemanticsId(SerializableFinder finder, {Duration timeout}) Future<int>
Retrieves the semantics node id for the object returned by finder, or the nearest ancestor with a semantics node. [...]
inherited
getText(SerializableFinder finder, {Duration timeout}) Future<String>
Returns the text in the Text widget located by finder.
inherited
getTopLeft(SerializableFinder finder, {Duration timeout}) Future<DriverOffset>
Returns the point at the top left of the widget identified by finder. [...]
inherited
getTopRight(SerializableFinder finder, {Duration timeout}) Future<DriverOffset>
Returns the point at the top right of the widget identified by finder. [...]
inherited
getVmFlags() Future<List<Map<String, dynamic>>>
Returns the Flags set in the Dart VM as JSON. [...]
inherited
getWidgetDiagnostics(SerializableFinder finder, {int subtreeDepth: 0, bool includeProperties: true, Duration timeout}) Future<Map<String, Object>>
Returns a JSON map of the DiagnosticsNode that is associated with the Widget identified by finder. [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
requestData(String message, {Duration timeout}) Future<String>
Sends a string and returns a string. [...]
inherited
runUnsynchronized<T>(Future<T> action(), {Duration timeout}) Future<T>
action will be executed with the frame sync mechanism disabled. [...]
inherited
scroll(SerializableFinder finder, double dx, double dy, Duration duration, {int frequency: 60, Duration timeout}) Future<void>
Tell the driver to perform a scrolling action. [...]
inherited
scrollIntoView(SerializableFinder finder, {double alignment: 0.0, Duration timeout}) Future<void>
Scrolls the Scrollable ancestor of the widget located by finder until the widget is completely visible. [...]
inherited
scrollUntilVisible(SerializableFinder scrollable, SerializableFinder item, {double alignment: 0.0, double dxScroll: 0.0, double dyScroll: 0.0, Duration timeout}) Future<void>
Repeatedly scroll the widget located by scrollable by dxScroll and dyScroll until item is visible, and then use scrollIntoView to ensure the item's final position matches alignment. [...]
inherited
setSemantics(bool enabled, {Duration timeout}) Future<bool>
Turns semantics on or off in the Flutter app under test. [...]
inherited
setTextEntryEmulation({bool enabled, Duration timeout}) Future<void>
Configures text entry emulation. [...]
inherited
tap(SerializableFinder finder, {Duration timeout}) Future<void>
Taps at the center of the widget located by finder.
inherited
toString() String
Returns a string representation of this object.
inherited
waitFor(SerializableFinder finder, {Duration timeout}) Future<void>
Waits until finder locates the target.
inherited
waitForAbsent(SerializableFinder finder, {Duration timeout}) Future<void>
Waits until finder can no longer locate the target.
inherited
waitForCondition(SerializableWaitCondition waitCondition, {Duration timeout}) Future<void>
Waits until the given waitCondition is satisfied.
inherited
waitUntilNoTransientCallbacks({Duration timeout}) Future<void>
Waits until there are no more transient callbacks in the queue. [...]
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited

Static Methods

connectWeb({String hostUrl, Duration timeout}) Future<FlutterDriver>
Creates a driver that uses a connection provided by the given hostUrl which would fallback to environment variable VM_SERVICE_URL. Driver also depends on environment variables DRIVER_SESSION_ID, BROWSER_SUPPORTS_TIMELINE, DRIVER_SESSION_URI, DRIVER_SESSION_SPEC and ANDROID_CHROME_ON_EMULATOR for configurations.