WebFlutterDriver class Null safety

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, {bool printCommunication = false, bool logCommunicationToFile = true})
Creates a driver that uses a connection provided by the given _connection.

Properties

appIsolate → Isolate
Getter of appIsolate.
read-onlyoverride
hashCode → int
The hash code for this object.
read-onlyinherited
logFilePathName → String
Getter for file pathname where logs are written when _logCommunicationToFile is true
read-only
runtimeType → Type
A representation of the runtime type of the object.
read-onlyinherited
serviceClient → VmService
Getter of serviceClient.
read-onlyoverride
startTime → DateTime
Start time for tracing.
visibleForTesting">@visibleForTestingread-only
webDriver → WebDriver
Getter of webDriver.
read-onlyoverride

Methods

checkHealth({Duration? timeout}) → Future<Health>
Checks the status of the Flutter Driver extension.
inherited
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
enableAccessibility() → Future<void>
Enables accessibility feature.
Deprecated('Call setSemantics(true) instead. ' 'This feature was deprecated after v2.3.0-12.1.pre.')">@Deprecated('Call setSemantics(true) instead. ' 'This feature was deprecated after v2.3.0-12.1.pre.')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
screenshot() → Future<List<int>>
Take a screenshot.
override
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
sendCommand(Command command) → Future<Map<String, dynamic>>
Sends command to the Flutter Driver extensions. This must be implemented by subclass.
override
sendTextInputAction(TextInputAction action, {Duration? timeout}) → Future<void>
Simulate the user posting a text input action.
inherited
setSemantics(bool enabled, {Duration? timeout}) → Future<bool>
Turns semantics on or off in the Flutter app under test.
inherited
setTextEntryEmulation({required bool enabled, Duration? timeout}) → Future<void>
Configures text entry emulation.
inherited
startTracing({List<TimelineStream> streams = const <TimelineStream>[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
tap(SerializableFinder finder, {Duration? timeout}) → Future<void>
Taps at the center of the widget located by finder.
inherited
toString() → String
A string representation of this object.
inherited
traceAction(Future action(), {List<TimelineStream> streams = const <TimelineStream>[TimelineStream.all], bool retainPriorEvents = false}) → Future<Timeline>
Runs action and outputs a performance trace for it.
override
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
waitForTappable(SerializableFinder finder, {Duration? timeout}) → Future<void>
Waits until finder is tappable.
inherited
waitUntilFirstFrameRasterized() → Future<void>
Waits until the next dart:ui.PlatformDispatcher.onReportTimings is called.
override
waitUntilNoTransientCallbacks({Duration? timeout}) → Future<void>
Waits until there are no more transient callbacks in the queue.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

connectWeb({String? hostUrl, bool printCommunication = false, bool logCommunicationToFile = true, 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, DRIVER_SESSION_CAPABILITIES and ANDROID_CHROME_ON_EMULATOR for configurations.