[e2e] Add test to launch terminal and check for focus

Change-Id: Idefd59930570313cb1644631d46355bcec214de1
Reviewed-on: https://fuchsia-review.googlesource.com/c/experiences/+/474560
Reviewed-by: Charles Whitten <cwhitten@google.com>
Reviewed-by: Yeonhee Lee <yhlee@google.com>
Commit-Queue: Sanjay Chouksey <sanjayc@google.com>
diff --git a/tests/e2e/test/ermine_session_shell_ask_test.dart b/tests/e2e/test/ermine_session_shell_ask_test.dart
index 05ea2ee..1d2d712 100644
--- a/tests/e2e/test/ermine_session_shell_ask_test.dart
+++ b/tests/e2e/test/ermine_session_shell_ask_test.dart
@@ -38,6 +38,25 @@
     expect(askResult, 'spinning_square_view');
   });
 
+  test('use ask to launch terminal and verify focus', () async {
+    await ermine.gotoOverview();
+    await ermine.driver.enterText('');
+    final terminalResult = find.text('terminal');
+    await ermine.driver.tap(terminalResult);
+
+    // The terminal view should be displayed in a window with title.
+    final terminalTitle = await ermine.driver.getText(find.text('terminal'));
+    expect(terminalTitle, 'terminal');
+
+    // The inspect data should show that the view has focus.
+    const componentUrl = 'fuchsia-pkg://fuchsia.com/terminal#meta/terminal.cmx';
+    final inspect = await ermine.waitForView(componentUrl);
+    expect(inspect['focused'], isTrue);
+
+    // Close the terminal view.
+    await ermine.driver.requestData('close');
+  });
+
   // TODO(http://fxbug.dev/60790): Implement this when input tool is ready.
   test('use ask to resolve spinning_square_view using input tool', () async {},
       skip: true);
diff --git a/tests/e2e/test/ermine_session_shell_simple_browser_test.dart b/tests/e2e/test/ermine_session_shell_simple_browser_test.dart
index 6146cbb..8dae98e 100644
--- a/tests/e2e/test/ermine_session_shell_simple_browser_test.dart
+++ b/tests/e2e/test/ermine_session_shell_simple_browser_test.dart
@@ -52,5 +52,10 @@
 
     final termsLink = webdriver.findElement(By.linkText('Terms'));
     expect(termsLink, isNotNull, reason: 'Cannot find text link "Terms".');
+
+    // Close the view.
+    await ermine.driver.requestData('close');
+    // Verify the view is closed.
+    await ermine.driver.waitForAbsent(find.text('simple_browser'));
   });
 }
diff --git a/tests/e2e/test/ermine_spinning_square_view_test.dart b/tests/e2e/test/ermine_spinning_square_view_test.dart
index f631658..35814d9 100644
--- a/tests/e2e/test/ermine_spinning_square_view_test.dart
+++ b/tests/e2e/test/ermine_spinning_square_view_test.dart
@@ -34,7 +34,6 @@
     const componentUrl =
         'fuchsia-pkg://fuchsia.com/spinning_square_view#meta/spinning_square_view.cmx';
     await ermine.launch(componentUrl);
-    await ermine.component.search('spinning_square_view.cmx');
     // Get the view rect.
     final viewRect = await ermine.getViewRect(componentUrl);
     // Give the view couple of seconds to draw before taking its screenshot.
@@ -45,6 +44,7 @@
     // spinning_square_view displays a red square on purple background.
     const purple = 0xffb73a67; //  (0xAABBGGRR)
     const red = 0xff5700f5; //  (0xAABBGGRR)
+    expect(histogram.keys.length, 2);
     expect(histogram[purple], isNotNull);
     expect(histogram[red], isNotNull);
     expect(histogram[purple] > histogram[red], isTrue);