diff --git a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md
index d989279..1c42728 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md
+++ b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.1.0+1
+
+* Port e2e tests to use the new integration_test package.
+
 ## 0.1.0
 
 * First open-source version
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml
index a4a734a..e916f7a 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml
@@ -1,7 +1,7 @@
 name: google_maps_flutter_web
 description: Web platform implementation of google_maps_flutter
 homepage: https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter
-version: 0.1.0
+version: 0.1.0+1
 
 flutter:
   plugin:
@@ -27,7 +27,8 @@
   url_launcher: ^5.2.5
   pedantic: ^1.8.0
   mockito: ^4.1.1
-  e2e: ^0.6.1
+  integration_test:
+    path: ../../integration_test
 
 environment:
   sdk: ">=2.3.0 <3.0.0"
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/README.md b/packages/google_maps_flutter/google_maps_flutter_web/test/README.md
index 6eae799..7c48d02 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/README.md
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/README.md
@@ -11,7 +11,7 @@
 
 4. Change into the `test` directory of your clone.
 
-5. Run tests: `flutter drive -d web-server --browser-name=chrome --target=test_driver/TEST_NAME_e2e.dart`, or (in Linux):
+5. Run tests: `flutter drive -d web-server --browser-name=chrome --target=test_driver/TEST_NAME_integration.dart`, or (in Linux):
 
-    * Single: `./run_test test_driver/TEST_NAME_e2e.dart`
+    * Single: `./run_test test_driver/TEST_NAME_integration.dart`
     * All: `./run_test`
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/test/pubspec.yaml
index ec091f0..008cc03 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/pubspec.yaml
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/pubspec.yaml
@@ -9,14 +9,15 @@
     sdk: flutter
 
 dev_dependencies:
-  google_maps_flutter_web:
-    path: ../
   google_maps: ^3.4.4
   flutter_driver:
     sdk: flutter
   flutter_test:
     sdk: flutter
-  e2e: ^0.6.1
   http: ^0.12.2
   mockito: ^4.1.1
+  google_maps_flutter_web:
+    path: ../
+  integration_test:
+    path: ../../../integration_test
 
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/run_test b/packages/google_maps_flutter/google_maps_flutter_web/test/run_test
index 4b43cf0..74a8526 100755
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/run_test
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/run_test
@@ -4,7 +4,7 @@
 
   if [ $# -eq 0 ]; then
     echo "No target specified, running all tests..."
-    find test_driver/ -iname *_e2e.dart | xargs -n1 -i -t flutter drive -d web-server --web-port=7357 --browser-name=chrome --target='{}'
+    find test_driver/ -iname *_integration.dart | xargs -n1 -i -t flutter drive -d web-server --web-port=7357 --browser-name=chrome --target='{}'
   else
     echo "Running test target: $1..."
     set -x
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_e2e_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_e2e_test.dart
deleted file mode 100644
index efa93a1..0000000
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_e2e_test.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import 'package:e2e/e2e_driver.dart' as e2e;
-
-Future<void> main() async => e2e.main();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_e2e.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_integration.dart
similarity index 98%
rename from packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_e2e.dart
rename to packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_integration.dart
index fac1956..fc21476 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_e2e.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_integration.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async';
 
-import 'package:e2e/e2e.dart';
+import 'package:integration_test/integration_test.dart';
 import 'package:google_maps/google_maps.dart' as gmaps;
 import 'package:google_maps_flutter_web/google_maps_flutter_web.dart';
 import 'package:flutter_test/flutter_test.dart';
@@ -40,7 +40,7 @@
 
 /// Test Google Map Controller
 void main() {
-  E2EWidgetsFlutterBinding.ensureInitialized() as E2EWidgetsFlutterBinding;
+  IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
   group('GoogleMapController', () {
     final int mapId = 33930;
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_integration_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_integration_test.dart
new file mode 100644
index 0000000..39444c0
--- /dev/null
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_controller_integration_test.dart
@@ -0,0 +1,7 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:integration_test/integration_test_driver.dart';
+
+Future<void> main() async => integrationDriver();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_e2e_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_e2e_test.dart
deleted file mode 100644
index efa93a1..0000000
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_e2e_test.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import 'package:e2e/e2e_driver.dart' as e2e;
-
-Future<void> main() async => e2e.main();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_e2e.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_integration.dart
similarity index 98%
rename from packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_e2e.dart
rename to packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_integration.dart
index 80ec540..59b5de4 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_e2e.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_integration.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async';
 
-import 'package:e2e/e2e.dart';
+import 'package:integration_test/integration_test.dart';
 import 'package:flutter/widgets.dart';
 import 'package:google_maps/google_maps.dart' as gmaps;
 import 'package:google_maps_flutter_web/google_maps_flutter_web.dart';
@@ -17,7 +17,7 @@
 
 /// Test GoogleMapsPlugin
 void main() {
-  E2EWidgetsFlutterBinding.ensureInitialized() as E2EWidgetsFlutterBinding;
+  IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
   group('GoogleMapsPlugin', () {
     _MockGoogleMapController controller;
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_integration_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_integration_test.dart
new file mode 100644
index 0000000..39444c0
--- /dev/null
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/google_maps_plugin_integration_test.dart
@@ -0,0 +1,7 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:integration_test/integration_test_driver.dart';
+
+Future<void> main() async => integrationDriver();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_e2e_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_e2e_test.dart
deleted file mode 100644
index efa93a1..0000000
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_e2e_test.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import 'package:e2e/e2e_driver.dart' as e2e;
-
-Future<void> main() async => e2e.main();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_e2e.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_integration.dart
similarity index 95%
rename from packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_e2e.dart
rename to packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_integration.dart
index 7f9d9ba..1cada32 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_e2e.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_integration.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async';
 
-import 'package:e2e/e2e.dart';
+import 'package:integration_test/integration_test.dart';
 import 'package:google_maps/google_maps.dart' as gmaps;
 import 'package:google_maps_flutter_web/google_maps_flutter_web.dart';
 import 'package:flutter_test/flutter_test.dart';
@@ -27,7 +27,7 @@
 
 /// Test Markers
 void main() {
-  E2EWidgetsFlutterBinding.ensureInitialized() as E2EWidgetsFlutterBinding;
+  IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
   bool called = false;
   void onTap() {
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_integration_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_integration_test.dart
new file mode 100644
index 0000000..39444c0
--- /dev/null
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/marker_integration_test.dart
@@ -0,0 +1,7 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:integration_test/integration_test_driver.dart';
+
+Future<void> main() async => integrationDriver();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_e2e_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_e2e_test.dart
deleted file mode 100644
index efa93a1..0000000
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_e2e_test.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import 'package:e2e/e2e_driver.dart' as e2e;
-
-Future<void> main() async => e2e.main();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_e2e.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_integration.dart
similarity index 95%
rename from packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_e2e.dart
rename to packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_integration.dart
index 53c34e9..f447535 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_e2e.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_integration.dart
@@ -4,13 +4,13 @@
 
 import 'dart:async';
 
-import 'package:e2e/e2e.dart';
+import 'package:integration_test/integration_test.dart';
 import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';
 import 'package:google_maps_flutter_web/google_maps_flutter_web.dart';
 import 'package:flutter_test/flutter_test.dart';
 
 void main() {
-  E2EWidgetsFlutterBinding.ensureInitialized() as E2EWidgetsFlutterBinding;
+  IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
   group('MarkersController', () {
     StreamController<MapEvent> stream;
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_integration_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_integration_test.dart
new file mode 100644
index 0000000..39444c0
--- /dev/null
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/markers_integration_test.dart
@@ -0,0 +1,7 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:integration_test/integration_test_driver.dart';
+
+Future<void> main() async => integrationDriver();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_e2e_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_e2e_test.dart
deleted file mode 100644
index efa93a1..0000000
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_e2e_test.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import 'package:e2e/e2e_driver.dart' as e2e;
-
-Future<void> main() async => e2e.main();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_e2e.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_integration.dart
similarity index 96%
rename from packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_e2e.dart
rename to packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_integration.dart
index 8a0e1d8..a05d704 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_e2e.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_integration.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async';
 
-import 'package:e2e/e2e.dart';
+import 'package:integration_test/integration_test.dart';
 import 'package:google_maps/google_maps.dart' as gmaps;
 import 'package:google_maps_flutter_web/google_maps_flutter_web.dart';
 import 'package:flutter_test/flutter_test.dart';
@@ -30,7 +30,7 @@
 
 /// Test Shapes (Circle, Polygon, Polyline)
 void main() {
-  E2EWidgetsFlutterBinding.ensureInitialized() as E2EWidgetsFlutterBinding;
+  IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
   bool called = false;
   void onTap() {
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_integration_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_integration_test.dart
new file mode 100644
index 0000000..39444c0
--- /dev/null
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shape_integration_test.dart
@@ -0,0 +1,7 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:integration_test/integration_test_driver.dart';
+
+Future<void> main() async => integrationDriver();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_e2e_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_e2e_test.dart
deleted file mode 100644
index efa93a1..0000000
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_e2e_test.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import 'package:e2e/e2e_driver.dart' as e2e;
-
-Future<void> main() async => e2e.main();
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_e2e.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_integration.dart
similarity index 97%
rename from packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_e2e.dart
rename to packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_integration.dart
index 9ff3ad9..b1bff7e 100644
--- a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_e2e.dart
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_integration.dart
@@ -4,14 +4,14 @@
 
 import 'dart:async';
 
-import 'package:e2e/e2e.dart';
+import 'package:integration_test/integration_test.dart';
 import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';
 import 'package:google_maps_flutter_web/google_maps_flutter_web.dart';
 import 'package:flutter_test/flutter_test.dart';
 
 /// Test Shapes (Circle, Polygon, Polyline)
 void main() {
-  E2EWidgetsFlutterBinding.ensureInitialized() as E2EWidgetsFlutterBinding;
+  IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
   group('CirclesController', () {
     StreamController<MapEvent> stream;
diff --git a/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_integration_test.dart b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_integration_test.dart
new file mode 100644
index 0000000..39444c0
--- /dev/null
+++ b/packages/google_maps_flutter/google_maps_flutter_web/test/test_driver/shapes_integration_test.dart
@@ -0,0 +1,7 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:integration_test/integration_test_driver.dart';
+
+Future<void> main() async => integrationDriver();
