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.