Kategorien, Pakete und Repositories suchen

Paketdetailsv3.2.0

webdriver

Bietet WebDriver-Bindings für Dart. Unterstützt die WebDriver-JSON-Schnittstelle und die W3C-Spezifikation. Erfordert die Verwendung eines WebDriver-Remote-Servers.

30-Tage-Downloads
11,4 Mio.
Likes
67
Pub-Punkte
130

Paket installieren

flutter pub add webdriver

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das webdriver-Paket bietet WebDriver-Bindings für Dart und ermöglicht automatisierte Browser-Tests über die WebDriver-JSON-Schnittstelle und W3C-Standards. Es erfordert einen separaten WebDriver-Remote-Server, damit Dart-Anwendungen Browser programmatisch steuern können. Dieses Paket ist ideal zum Schreiben von End-to-End-Tests, die echte Benutzerinteraktionen über verschiedene Browser und Plattformen hinweg nachahmen. Es unterstützt moderne Web-Testworkflows und integriert sich gut mit Test-Frameworks wie test oder integration_test.

Anwendungsfälle

  • Automatisiertes Browser-Testing
  • End-to-End-Tests für Webanwendungen
  • Cross-Browser-Kompatibilitätsprüfung
  • Integrationstests mit echten Browsern
  • Testautomatisierung in CI/CD-Pipelines

Hauptmerkmale

  • Unterstützt WebDriver JSON und W3C-Spezifikationen
  • Externer WebDriver-Server erforderlich
  • Ermöglicht Browser-Automatisierung über Dart
  • Ermöglicht die Simulation echter Benutzerinteraktionen
  • Integriert sich in Dart-Test-Frameworks

Geeignet für

  • Dart-Entwickler, die Web-Tests durchführen
  • Teams, die CI/CD-Pipelines verwenden
  • Testingenieure, die Browser-Arbeitsabläufe automatisieren
  • Projekte, die eine plattformübergreifende Validierung erfordern
  • Entwickler, die W3C WebDriver-Standards befolgen

Hinweise

  • Benötigt einen laufenden WebDriver-Server (z. B. Selenium Server)
  • Nicht geeignet für headless-only-Szenarien ohne Setup
  • Beschränkt auf Browser-Automatisierung, nicht für mobile oder native UI-Tests
  • Abhängig von der Stabilität des externen Servers
  • Kann zusätzliche Konfiguration für sichere Umgebungen erfordern

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

CI pub package package publisher

Provides WebDriver bindings for Dart. These use the WebDriver JSON interface, and as such, require the use of the WebDriver remote server.

Using package:webdriver

In your Dart code, you can use:

import 'package:webdriver/io.dart';

WebDriver driver = createDriver(...);

This will use by default the asynchronous, JSON wire spec implementation. You now can also use a synchronous version of WebDriver:

import 'package:webdriver/sync_io.dart';

final driver = createDriver(...);

This version of WebDriver supports both the JSON wire spec and W3C spec, allowing use with modern versions of Firefox. This defaults to the JSON wire spec, but can also be configured to use the W3C spec or even to try and automatically infer the spec during session creation:

final w3cDriver = createDriver(spec: WebDriverSpec.W3c);  // Use W3C spec.

final anyDriver = createDriver(spec: WebDriverSpec.Auto); // Infer spec.

Testing

Unfortunately using bazel with Dart libraries and Dart WebDriver is not yet supported. We hope to add this at some point, but for now pub still works.

As a consequence, running tests is a bit more complicated than we'd like:

  1. Launch a WebDriver binar(ies).

    First, bring up chromedriver / geckodriver. Other conforming WebDriver binaries should work as well, but we test against these:

    chromedriver --port=4444 --url-base=wd/hub --verbose
    geckodriver --port=4445
    

    ChromeDriver is used to test our JSON wire spec implementation, and geckodriver is used to test our W3C spec implementation.

    Synchronous tests are labeled as Chrome/Firefox. All async tests run exclusively against Chrome (as async, like ChromeDriver supports only the old JSON wire spec).

  2. Run a test. All files suffixed with _test.dart are tests.

    dart test test/path/to/the_test.dart -r expanded -p vm
    

    Or to run all tests:

    dart test -r expanded -p vm
    

    You should probably go get a coffee or something, this is gonna take a while.

Kategorien

Abhängigkeiten

Abhängigkeiten 5 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden