Skip to content

Commit 31c8fc2

Browse files
authored
Merge pull request #513 from MikeOrtiz/ScreenshotCompare
Screenshot compare tests on each pull request
2 parents bc3ed80 + 5765fa2 commit 31c8fc2

24 files changed

Lines changed: 33 additions & 3 deletions

.github/workflows/Android-CI.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ jobs:
2020
uses: actions/checkout@v3
2121
with:
2222
fetch-depth: 0
23+
submodules: true
24+
- name: prepare
25+
run: brew install exiftool imagemagick
2326
- name: Install JDK ${{ matrix.java_version }}
2427
uses: actions/setup-java@v3
2528
with:
@@ -54,6 +57,18 @@ jobs:
5457
path: |
5558
app/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
5659
app/build/outputs/androidTest-results/connected
60+
- name: Compare screenshots
61+
run: |
62+
ls -ls app/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
63+
cp app/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected/emulator\(AVD\)\ -\ 9/* screenshotsToCompare
64+
./screenShotCompare.sh
65+
- name: Archive screenshots diffs
66+
if: ${{ always() }}
67+
uses: actions/upload-artifact@v3
68+
with:
69+
name: Touch-Screenshots-diffs
70+
path: |
71+
screenshotDiffs
5772
Check:
5873
name: Check
5974
runs-on: ubuntu-latest

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "git-diff-image"]
2+
path = git-diff-image
3+
url = git@github.com:ewanmellor/git-diff-image.git

app/src/androidTest/java/info/touchimage/demo/TouchTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@ class TouchTest {
2828
@Test
2929
fun testSingleTouch() {
3030
onView(withId(R.id.imageSingle)).perform(TouchAction(4f, 8f))
31-
takeScreenshot()
31+
onView(withId(R.id.imageSingle)).captureToBitmap()
3232
.writeToTestStorage("${javaClass.simpleName}_${nameRule.methodName}-touch1")
3333
onView(withId(R.id.imageSingle)).perform(TouchAction(40f, 80f))
34+
Thread.sleep(300)
3435
takeScreenshot()
3536
.writeToTestStorage("${javaClass.simpleName}_${nameRule.methodName}-touch2")
3637
}

app/src/main/java/info/touchimage/demo/GlideExampleActivity.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ class GlideExampleActivity : AppCompatActivity() {
3232
override fun onResourceReady(resource: Drawable, transition: Transition<in Drawable?>?) {
3333
binding.imageGlide.setImageDrawable(resource)
3434
binding.textLoaded.visibility = View.VISIBLE
35-
binding.textLoaded.text = getString(R.string.loaded) + " within ${System.currentTimeMillis() - start} ms"
36-
Log.d("GlideExampleActivity", binding.textLoaded.text as String)
35+
val loadTime = System.currentTimeMillis() - start
36+
binding.textLoaded.text = getString(R.string.loaded) + " within <ignored> ms"
37+
Log.d("GlideExampleActivity", loadTime.toString() + "ms")
3738
}
3839

3940
override fun onLoadCleared(placeholder: Drawable?) = Unit

git-diff-image

Submodule git-diff-image added at e4932df

screenShotCompare.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
diffFiles=./screenshotDiffs
2+
mkdir $diffFiles
3+
#cp app/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected/emulator\(AVD\)\ -\ 9/* screenshotsToCompare
4+
set -x
5+
./git-diff-image/install.sh
6+
GIT_DIFF_IMAGE_OUTPUT_DIR=$diffFiles git diff-image
7+
8+
# set error when diffs are there
9+
[ "$(ls -A $diffFiles)" ] && exit 1 || exit 0
352 KB
Loading
30.1 KB
Loading
81.3 KB
Loading
319 KB
Loading

0 commit comments

Comments
 (0)