Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java

Issue 2114963002: Create Java infrastructure for UI Render Tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java
index 3a94395b06bc52698451ae6b4abea4a2562f095a..d8478fa063b41091d19ef3bf87841f2f2aef5a58 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java
@@ -16,8 +16,10 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.DisableIf;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.Feature;
+import org.chromium.base.test.util.RenderTest;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.UrlConstants;
+import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView;
import org.chromium.chrome.browser.omnibox.LocationBarLayout;
import org.chromium.chrome.browser.omnibox.UrlBar;
import org.chromium.chrome.browser.tab.EmptyTabObserver;
@@ -26,6 +28,7 @@ import org.chromium.chrome.test.ChromeTabbedActivityTestBase;
import org.chromium.chrome.test.util.ChromeTabUtils;
import org.chromium.chrome.test.util.NewTabPageTestUtils;
import org.chromium.chrome.test.util.OmniboxTestUtils;
+import org.chromium.chrome.test.util.RenderUtils.ViewRenderer;
import org.chromium.content.browser.test.util.CallbackHelper;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
@@ -36,6 +39,7 @@ import org.chromium.net.test.EmbeddedTestServer;
import org.chromium.net.test.util.TestWebServer;
import org.chromium.ui.base.PageTransition;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.Callable;
import java.util.concurrent.Semaphore;
@@ -59,6 +63,35 @@ public class NewTabPageTest extends ChromeTabbedActivityTestBase {
private FakeMostVisitedSites mFakeMostVisitedSites;
private EmbeddedTestServer mTestServer;
+ @RenderTest()
+ @Feature({"NewTabPage"})
+ public void testRender() throws IOException, InterruptedException {
+ ViewRenderer viewRenderer = new ViewRenderer(getActivity(), "NewTabPageTest");
+ viewRenderer.save(mMostVisitedLayout, "most_visited");
+ viewRenderer.save(mFakebox, "fakebox");
+ viewRenderer.save(mNtp.getView(), "new_tab_page");
+
+ // Scroll to search bar
+ final NewTabPageRecyclerView recyclerView = (NewTabPageRecyclerView)
+ mNtp.getNewTabPageView().findViewById(R.id.ntp_scrollview);
+
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ recyclerView.smoothScrollBy(0, mFakebox.getTop());
+ }
+ });
+
+ CriteriaHelper.pollUiThread(new Criteria(){
+ @Override
+ public boolean isSatisfied() {
+ return recyclerView.computeVerticalScrollOffset() == mFakebox.getTop();
+ }
+ });
+
+ viewRenderer.save(mNtp.getView(), "new_tab_page_scrolled");
jbudorick 2016/07/01 15:34:21 The more I think about it, the more I think that w
PEConn 2016/07/01 16:46:13 OK, I can see the benefits of that - it requires m
jbudorick 2016/07/01 16:50:20 Also, if we do device-side comparison, I'm not sur
+ }
+
@Override
protected void setUp() throws Exception {
mTestServer = EmbeddedTestServer.createAndStartFileServer(

Powered by Google App Engine
This is Rietveld 408576698