| Index: chrome/android/javatests/src/org/chromium/chrome/browser/metrics/PageLoadMetricsTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/PageLoadMetricsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/PageLoadMetricsTest.java
|
| index c8ff4deca617a713f4274e370855d26747243caf..d718c7f0f04f42fa910f77f41e8688f2dfc9adbc 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/PageLoadMetricsTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/metrics/PageLoadMetricsTest.java
|
| @@ -4,13 +4,24 @@
|
|
|
| package org.chromium.chrome.browser.metrics;
|
|
|
| +import android.support.test.InstrumentationRegistry;
|
| import android.support.test.filters.SmallTest;
|
|
|
| +import org.junit.After;
|
| +import org.junit.Assert;
|
| +import org.junit.Before;
|
| +import org.junit.Rule;
|
| +import org.junit.Test;
|
| +import org.junit.runner.RunWith;
|
| +
|
| import org.chromium.base.ThreadUtils;
|
| +import org.chromium.base.test.util.CommandLineFlags;
|
| import org.chromium.base.test.util.RetryOnFailure;
|
| import org.chromium.chrome.browser.ChromeActivity;
|
| +import org.chromium.chrome.browser.ChromeSwitches;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| -import org.chromium.chrome.test.ChromeActivityTestCaseBase;
|
| +import org.chromium.chrome.test.ChromeActivityTestRule;
|
| +import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
|
| import org.chromium.content_public.browser.WebContents;
|
| import org.chromium.net.test.EmbeddedTestServer;
|
|
|
| @@ -20,11 +31,14 @@ import java.util.concurrent.TimeUnit;
|
| /**
|
| * Tests for {@link PageLoadMetrics}
|
| */
|
| +@RunWith(ChromeJUnit4ClassRunner.class)
|
| @RetryOnFailure
|
| -public class PageLoadMetricsTest extends ChromeActivityTestCaseBase<ChromeActivity> {
|
| - public PageLoadMetricsTest() {
|
| - super(ChromeActivity.class);
|
| - }
|
| +@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
|
| + ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
|
| +public class PageLoadMetricsTest {
|
| + @Rule
|
| + public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
|
| + new ChromeActivityTestRule<>(ChromeActivity.class);
|
|
|
| private static final int PAGE_LOAD_METRICS_TIMEOUT_MS = 3000;
|
| private static final String TEST_PAGE = "/chrome/test/data/android/google.html";
|
| @@ -34,17 +48,19 @@ public class PageLoadMetricsTest extends ChromeActivityTestCaseBase<ChromeActivi
|
| private EmbeddedTestServer mTestServer;
|
| private PageLoadMetricsObserver mMetricsObserver;
|
|
|
| - @Override
|
| - protected void setUp() throws Exception {
|
| - super.setUp();
|
| - mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
|
| + @Before
|
| + public void setUp() throws Exception {
|
| + mActivityTestRule.startMainActivityOnBlankPage();
|
| + mTestServer = EmbeddedTestServer.createAndStartServer(
|
| + InstrumentationRegistry.getInstrumentation().getContext());
|
| mTestPage = mTestServer.getURL(TEST_PAGE);
|
|
|
| - mMetricsObserver = new PageLoadMetricsObserver(getActivity().getActivityTab());
|
| + mMetricsObserver =
|
| + new PageLoadMetricsObserver(mActivityTestRule.getActivity().getActivityTab());
|
| }
|
|
|
| - @Override
|
| - protected void tearDown() throws Exception {
|
| + @After
|
| + public void tearDown() throws Exception {
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| @@ -53,12 +69,6 @@ public class PageLoadMetricsTest extends ChromeActivityTestCaseBase<ChromeActivi
|
| });
|
|
|
| mTestServer.stopAndDestroyServer();
|
| - super.tearDown();
|
| - }
|
| -
|
| - @Override
|
| - public void startMainActivity() throws InterruptedException {
|
| - startMainActivityOnBlankPage();
|
| }
|
|
|
| private static class PageLoadMetricsObserver implements PageLoadMetrics.Observer {
|
| @@ -96,10 +106,11 @@ public class PageLoadMetricsTest extends ChromeActivityTestCaseBase<ChromeActivi
|
| }
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| public void testPageLoadMetricEmitted() throws InterruptedException {
|
| - assertFalse("Tab shouldn't be loading anything before we add observer",
|
| - getActivity().getActivityTab().isLoading());
|
| + Assert.assertFalse("Tab shouldn't be loading anything before we add observer",
|
| + mActivityTestRule.getActivity().getActivityTab().isLoading());
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| @@ -107,11 +118,11 @@ public class PageLoadMetricsTest extends ChromeActivityTestCaseBase<ChromeActivi
|
| }
|
| });
|
|
|
| - loadUrl(mTestPage);
|
| + mActivityTestRule.loadUrl(mTestPage);
|
|
|
| - assertTrue("First Contentful Paint should be reported",
|
| + Assert.assertTrue("First Contentful Paint should be reported",
|
| mMetricsObserver.waitForFirstContentfulPaintEvent());
|
| - assertTrue("Load event start event should be reported",
|
| + Assert.assertTrue("Load event start event should be reported",
|
| mMetricsObserver.waitForLoadEventStartEvent());
|
| }
|
| }
|
|
|