Add basic Chrome Web Store tests.

These tests include: a basic sanity test, 5 tests that verify that free
items can be installed, and 3 tests that verify that free trial items
can be installed.

BUG=chromium:403498
TEST=These tests pass

Change-Id: Id7aa76b4e23e5059652dbdb84f5976dcd2b0a3f5
Reviewed-on: https://chromium-review.googlesource.com/211835
Reviewed-by: Dan Shi <dshi@chromium.org>
Tested-by: Nathan Stoddard <nstoddard@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
diff --git a/client/common_lib/cros/chromedriver.py b/client/common_lib/cros/chromedriver.py
index 4c8872c..61e94de 100644
--- a/client/common_lib/cros/chromedriver.py
+++ b/client/common_lib/cros/chromedriver.py
@@ -28,7 +28,8 @@
     """Wrapper class, a context manager type, for tests to use Chrome Driver."""
 
     def __init__(self, extra_chrome_flags=[], subtract_extra_chrome_flags=[],
-                 extension_paths=[], is_component=True, *args, **kwargs):
+                 extension_paths=[], is_component=True, username=None,
+                 password=None, *args, **kwargs):
         """Initialize.
 
         @param extra_chrome_flags: Extra chrome flags to pass to chrome, if any.
@@ -37,12 +38,16 @@
         @param extension_paths: A list of paths to unzipped extensions. Note
                                 that paths to crx files won't work.
         @param is_component: True if the manifest.json has a key.
+        @param username: Log in using this username instead of the default.
+        @param username: Log in using this password instead of the default.
         """
         assert os.geteuid() == 0, 'Need superuser privileges'
 
         # Log in with telemetry
         self._chrome = chrome.Chrome(extension_paths=extension_paths,
                                      is_component=is_component,
+                                     username=username,
+                                     password=password,
                                      extra_browser_args=extra_chrome_flags)
         self._browser = self._chrome.browser
         # Close all tabs owned and opened by Telemetry, as these cannot be