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

Issue 2114963002: Create Java infrastructure for UI Render Tests. (Closed)

Created:
4 years, 5 months ago by PEConn
Modified:
4 years, 4 months ago
CC:
chromium-reviews, jbudorick+watch_chromium.org, ntp-dev+reviews_chromium.org, mikecase+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Create Java infrastructure for UI Render Tests. Creates the first part of the infrastructure that will allow us to test for any regressions to the Chrome on Android UI. This includes utilities to save Views to file, an annotation (RenderTest) to identify the instrumentation tests that use this and two examples of their use. The aim is to follow this up with host side code that grabs the images after the tests have been run and performs pixel comparisons on them against golden images stored in the repository. BUG=614305 Committed: https://crrev.com/324e06c25c137f097e6f001b12abb54d3e8bf268 Cr-Commit-Position: refs/heads/master@{#412905}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Client side comparison. #

Total comments: 12

Patch Set 3 : Primarily nits. #

Total comments: 6

Patch Set 4 : Update folders and error reporting. #

Patch Set 5 : Missing files only cause failure on certain devices. #

Patch Set 6 : Add REPORT_ONLY_DO_NOT_FAIL. #

Total comments: 21

Patch Set 7 : SnippetsBridge -> SnippetsSource in NewTabPageAdapterTest. #

Total comments: 2

Patch Set 8 : Add regenerate goldens flag. #

Total comments: 7

Patch Set 9 : Nits. #

Total comments: 4

Patch Set 10 : Merge and rename. #

Patch Set 11 : Merge and fix Findbugs error. #

Patch Set 12 : Throw when mkdir fails. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+680 lines, -116 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/ntp/LogoBridge.java View 4 chunks +5 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java View 1 2 3 4 5 6 7 8 9 10 4 chunks +6 lines, -6 lines 0 comments Download
A chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/FakeSuggestionsSource.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +138 lines, -0 lines 0 comments Download
M chrome/android/java_sources.gni View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java View 1 2 3 4 5 6 7 8 9 5 chunks +36 lines, -1 line 0 comments Download
A chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java View 1 2 3 4 5 6 7 8 9 1 chunk +287 lines, -0 lines 0 comments Download
M chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java View 1 2 3 4 5 6 7 8 9 10 4 chunks +3 lines, -104 lines 0 comments Download
M chrome/test/android/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
A chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +202 lines, -0 lines 0 comments Download
A chrome/test/data/android/render_tests/ArticleSnippetsTest.long_snippet.Nexus_5X.port.png View 1 2 3 Binary file 0 comments Download
A chrome/test/data/android/render_tests/ArticleSnippetsTest.minimal_snippet.Nexus_5X.port.png View 1 2 3 4 5 6 7 Binary file 0 comments Download
A chrome/test/data/android/render_tests/ArticleSnippetsTest.short_snippet.Nexus_5X.port.png View 1 2 3 4 5 6 7 Binary file 0 comments Download
A chrome/test/data/android/render_tests/ArticleSnippetsTest.snippets.Nexus_5X.port.png View 1 2 3 4 5 6 7 Binary file 0 comments Download
A chrome/test/data/android/render_tests/NewTabPageTest.fakebox.Nexus_5X.port.png View 1 2 3 4 5 6 7 Binary file 0 comments Download
A chrome/test/data/android/render_tests/NewTabPageTest.most_visited.Nexus_5X.port.png View 1 2 3 Binary file 0 comments Download
A chrome/test/data/android/render_tests/NewTabPageTest.new_tab_page.Nexus_5X.port.png View 1 2 3 4 5 6 7 Binary file 0 comments Download
A chrome/test/data/android/render_tests/NewTabPageTest.new_tab_page_scrolled.Nexus_5X.port.png View 1 2 3 4 5 6 7 Binary file 0 comments Download

Messages

Total messages: 60 (20 generated)
PEConn
PTAL at this work in progress of the Java side of the Android UI Render ...
4 years, 5 months ago (2016-07-01 15:09:02 UTC) #2
PEConn
These tests can all be run using '-A RenderTest' or '--annotation RenderTest'.
4 years, 5 months ago (2016-07-01 15:10:23 UTC) #3
PEConn
Additionally, jbudorick will be most interested in: base/test/android/javatests/src/org/chromium/base/test/util/RenderTest.java chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java The changes to build/android/pylib/instrumentation/instrumentation_test_instance.py ...
4 years, 5 months ago (2016-07-01 15:14:13 UTC) #4
jbudorick
You win the award for scariest CL I've received this week, although I was expecting ...
4 years, 5 months ago (2016-07-01 15:17:15 UTC) #5
jbudorick
I looked at Espresso a bit since Wednesday and don't think it alone can address ...
4 years, 5 months ago (2016-07-01 15:34:22 UTC) #6
PEConn
https://codereview.chromium.org/2114963002/diff/1/build/android/pylib/local/device/local_device_instrumentation_test_run.py File build/android/pylib/local/device/local_device_instrumentation_test_run.py (right): https://codereview.chromium.org/2114963002/diff/1/build/android/pylib/local/device/local_device_instrumentation_test_run.py#newcode26 build/android/pylib/local/device/local_device_instrumentation_test_run.py:26: ('RenderTest', 3 * 60), On 2016/07/01 15:34:21, jbudorick wrote: ...
4 years, 5 months ago (2016-07-01 16:46:14 UTC) #7
jbudorick
https://codereview.chromium.org/2114963002/diff/1/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/1/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode23 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:23: public class RenderUtils { On 2016/07/01 16:46:13, PEConn1 wrote: ...
4 years, 5 months ago (2016-07-01 16:49:22 UTC) #8
jbudorick
https://codereview.chromium.org/2114963002/diff/1/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java (right): https://codereview.chromium.org/2114963002/diff/1/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java#newcode92 chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java:92: viewRenderer.save(mNtp.getView(), "new_tab_page_scrolled"); On 2016/07/01 16:46:13, PEConn1 wrote: > On ...
4 years, 5 months ago (2016-07-01 16:50:20 UTC) #9
PEConn
On 2016/07/01 16:50:20, jbudorick wrote: > https://codereview.chromium.org/2114963002/diff/1/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java > File > chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java > (right): > > ...
4 years, 5 months ago (2016-07-12 16:34:48 UTC) #10
jbudorick
On 2016/07/12 16:34:48, PEConn1 wrote: > On 2016/07/01 16:50:20, jbudorick wrote: > > > https://codereview.chromium.org/2114963002/diff/1/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java ...
4 years, 5 months ago (2016-07-12 16:38:57 UTC) #11
PEConn
On 2016/07/12 16:38:57, jbudorick wrote: > On 2016/07/12 16:34:48, PEConn1 wrote: > > On 2016/07/01 ...
4 years, 5 months ago (2016-07-12 16:43:14 UTC) #12
jbudorick
On 2016/07/12 16:43:14, PEConn1 wrote: > On 2016/07/12 16:38:57, jbudorick wrote: > > On 2016/07/12 ...
4 years, 5 months ago (2016-07-12 16:47:48 UTC) #13
PEConn
PTAL - I've updated the code to do the comparison client side. I am aware ...
4 years, 5 months ago (2016-07-12 17:00:25 UTC) #14
Bernhard Bauer
https://codereview.chromium.org/2114963002/diff/20001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java (right): https://codereview.chromium.org/2114963002/diff/20001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java#newcode65 chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java:65: @MediumTest Should this be a @RenderTest now? https://codereview.chromium.org/2114963002/diff/20001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java File ...
4 years, 5 months ago (2016-07-13 09:20:14 UTC) #15
PEConn
https://codereview.chromium.org/2114963002/diff/20001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java (right): https://codereview.chromium.org/2114963002/diff/20001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java#newcode65 chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java:65: @MediumTest On 2016/07/13 09:20:13, Bernhard Bauer wrote: > Should ...
4 years, 5 months ago (2016-07-13 10:44:05 UTC) #16
Bernhard Bauer
https://codereview.chromium.org/2114963002/diff/20001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java (right): https://codereview.chromium.org/2114963002/diff/20001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java#newcode77 chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java:77: int firstSnippet = 0; On 2016/07/13 09:20:13, Bernhard Bauer ...
4 years, 5 months ago (2016-07-13 11:24:01 UTC) #17
Bernhard Bauer
https://codereview.chromium.org/2114963002/diff/40001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/40001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode125 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:125: File path = new File(Environment.getExternalStorageDirectory() + "/" + folder); ...
4 years, 5 months ago (2016-07-13 13:32:01 UTC) #18
PEConn
@jbudorick - What do I need to do with regards to build files to get ...
4 years, 5 months ago (2016-07-14 15:51:11 UTC) #19
jbudorick
On 2016/07/14 15:51:11, PEConn1 wrote: > @jbudorick - What do I need to do with ...
4 years, 5 months ago (2016-07-14 15:55:32 UTC) #20
PEConn
I think this patch (#5) contains all the features that I was planning on including.
4 years, 5 months ago (2016-07-14 16:45:39 UTC) #21
PEConn
Can I ping you two on this please?
4 years, 5 months ago (2016-07-18 13:09:37 UTC) #24
jbudorick
partial comments. I'll look a bit more later today. I have significant concerns about the ...
4 years, 5 months ago (2016-07-18 15:59:26 UTC) #29
Bernhard Bauer
https://codereview.chromium.org/2114963002/diff/100001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/100001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode70 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:70: * recommended way of using the ViewRenderer is to ...
4 years, 5 months ago (2016-07-18 16:41:44 UTC) #30
jbudorick
https://codereview.chromium.org/2114963002/diff/120001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/120001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode33 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:33: private static final String GOLDEN_FOLDER = "android/render_tests"; w.r.t. not ...
4 years, 5 months ago (2016-07-20 15:14:46 UTC) #33
jbudorick
On 2016/07/18 16:41:44, Bernhard Bauer wrote: > https://codereview.chromium.org/2114963002/diff/100001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java > File > chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java > (right): > ...
4 years, 5 months ago (2016-07-20 15:16:15 UTC) #34
PEConn
https://codereview.chromium.org/2114963002/diff/100001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/100001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode33 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:33: private static final String GOLDEN_FOLDER = "android/render_tests"; On 2016/07/18 ...
4 years, 5 months ago (2016-07-20 15:30:28 UTC) #35
Michael van Ouwerkerk
Just some drive-by comments - not adding myself as a formal reviewer. https://codereview.chromium.org/2114963002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java ...
4 years, 5 months ago (2016-07-20 16:44:10 UTC) #36
PEConn
PTAL - I've made less stuff hardcoded and simplified the ViewRenderer doing away with the ...
4 years, 4 months ago (2016-08-15 21:27:52 UTC) #37
jbudorick
https://codereview.chromium.org/2114963002/diff/140001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java (right): https://codereview.chromium.org/2114963002/diff/140001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java#newcode71 chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java:71: ViewRenderer viewRenderer = new ViewRenderer(getActivity(), I like this significantly ...
4 years, 4 months ago (2016-08-16 00:45:29 UTC) #38
PEConn
https://codereview.chromium.org/2114963002/diff/140001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java (right): https://codereview.chromium.org/2114963002/diff/140001/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java#newcode71 chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java:71: ViewRenderer viewRenderer = new ViewRenderer(getActivity(), On 2016/08/16 00:45:29, jbudorick ...
4 years, 4 months ago (2016-08-16 15:33:54 UTC) #39
PEConn
https://codereview.chromium.org/2114963002/diff/140001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/140001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode92 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:92: public void check(View view, String id) throws IOException { ...
4 years, 4 months ago (2016-08-16 15:38:00 UTC) #40
Bernhard Bauer
Looking good! https://codereview.chromium.org/2114963002/diff/160001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/160001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode116 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:116: Log.i(TAG, "%s - generated image saved to ...
4 years, 4 months ago (2016-08-17 16:45:10 UTC) #41
jbudorick
generally fine with this https://codereview.chromium.org/2114963002/diff/140001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/140001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode84 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:84: * device where goldens are ...
4 years, 4 months ago (2016-08-17 16:55:16 UTC) #42
PEConn
https://codereview.chromium.org/2114963002/diff/160001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java File chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java (right): https://codereview.chromium.org/2114963002/diff/160001/chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java#newcode92 chrome/test/android/javatests/src/org/chromium/chrome/test/util/RenderUtils.java:92: public void assertEquals(View view, String id) throws IOException { ...
4 years, 4 months ago (2016-08-17 18:00:55 UTC) #43
Bernhard Bauer
LGTM if John is happy.
4 years, 4 months ago (2016-08-17 20:25:51 UTC) #48
jbudorick
On 2016/08/17 20:25:51, Bernhard Bauer wrote: > LGTM if John is happy. lgtm
4 years, 4 months ago (2016-08-17 20:29:13 UTC) #49
Philipp Keck
Merge conflict: https://codereview.chromium.org/2244793002/diff/140001/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java
4 years, 4 months ago (2016-08-18 13:33:36 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2114963002/210001
4 years, 4 months ago (2016-08-18 17:50:38 UTC) #57
commit-bot: I haz the power
Committed patchset #12 (id:210001)
4 years, 4 months ago (2016-08-18 19:04:14 UTC) #58
commit-bot: I haz the power
4 years, 4 months ago (2016-08-18 19:05:45 UTC) #60
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/324e06c25c137f097e6f001b12abb54d3e8bf268
Cr-Commit-Position: refs/heads/master@{#412905}

Powered by Google App Engine
This is Rietveld 408576698