Skip to content

Commit 21107e0

Browse files
authored
add bottom conf. Input Screen tests and move to release tests (#6869)
Task/Issue URL: https://app.asana.com/1/137249556945/project/1208671518894266/task/1211467910576523?focus=true ### Description - Expands the Input Screen E2E test suite slightly by adding tests for the new line button. - Adds variants of tests that run for bottom configuration. The same interactions are verified for both top and bottom. - Moves the tests from `internalRelease` to `playRelease` build variant. - Adds all Input Screen tests to the `releaseTest` tag to run nightly and before each release (instead of running an independent job only nightly). ### Steps to test this PR If you'd like to try the flows, run: ``` ./gradlew app:installPlayRelease -Pforce-default-variant -Pskip-onboarding maestro test .maestro --include-tags inputScreenTest ```
1 parent 54ba711 commit 21107e0

15 files changed

+277
-178
lines changed

.github/workflows/input-screen-e2e-tests.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
name: Input Screen End-to-End tests
22

33
on:
4-
schedule:
5-
- cron: '0 5 * * *' # run at 5 AM UTC
64
workflow_dispatch:
75

86
concurrency:
@@ -48,11 +46,11 @@ jobs:
4846
uses: gradle/actions/setup-gradle@v3
4947

5048
- name: Assemble the project
51-
run: ./gradlew assembleInternalRelease -Pforce-default-variant
49+
run: ./gradlew assemblePlayRelease -Pforce-default-variant
5250

5351
- name: Move APK to new folder
5452
if: always()
55-
run: find . -name "*.apk" -exec mv '{}' apk/internalRelease.apk \;
53+
run: find . -name "*.apk" -exec mv '{}' apk/playRelease.apk \;
5654

5755
- name: Input Screen Maestro run
5856
uses: mobile-dev-inc/[email protected]
@@ -62,7 +60,7 @@ jobs:
6260
project-id: ${{ vars.ROBIN_ANDROID_PROJECT_ID }}
6361
name: inputScreen_${{ github.sha }}
6462
timeout: ${{ vars.ROBIN_TIMEOUT_MINUTES }}
65-
app-file: apk/internalRelease.apk
63+
app-file: apk/playRelease.apk
6664
android-api-level: 30
6765
workspace: .maestro
6866
include-tags: inputScreenTest

.maestro/input_screen/input_screen_chat_mode.yaml

Lines changed: 0 additions & 36 deletions
This file was deleted.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
appId: com.duckduckgo.mobile.android
2+
name: "Input Screen Chat Mode test (bottom config)"
3+
tags:
4+
- inputScreenTest
5+
- releaseTest
6+
---
7+
- retry:
8+
maxRetries: 3
9+
commands:
10+
- launchApp:
11+
clearState: true
12+
stopApp: true
13+
- runFlow: ../shared/skip_all_onboarding.yaml
14+
- runFlow: ./shared/input_screen_enable_flow.yaml
15+
- runFlow: ./shared/input_screen_enable_bottom_bar_flow.yaml
16+
- runFlow: ./shared/input_screen_chat_mode_flow.yaml
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
appId: com.duckduckgo.mobile.android
2+
name: "Input Screen Chat Mode test (top config)"
3+
tags:
4+
- inputScreenTest
5+
- releaseTest
6+
---
7+
- retry:
8+
maxRetries: 3
9+
commands:
10+
- launchApp:
11+
clearState: true
12+
stopApp: true
13+
- runFlow: ../shared/skip_all_onboarding.yaml
14+
- runFlow: ./shared/input_screen_enable_flow.yaml
15+
- runFlow: ./shared/input_screen_chat_mode_flow.yaml

.maestro/input_screen/input_screen_preference_management.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ appId: com.duckduckgo.mobile.android
22
name: "Input Screen user preferences test"
33
tags:
44
- inputScreenTest
5+
- releaseTest
56
---
67
- retry:
78
maxRetries: 3

.maestro/input_screen/input_screen_search_mode.yaml

Lines changed: 0 additions & 136 deletions
This file was deleted.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
appId: com.duckduckgo.mobile.android
2+
name: "Input Screen Search Mode test (bottom config)"
3+
tags:
4+
- inputScreenTest
5+
- releaseTest
6+
---
7+
- retry:
8+
maxRetries: 3
9+
commands:
10+
- launchApp:
11+
clearState: true
12+
stopApp: true
13+
- runFlow: ../shared/skip_all_onboarding.yaml
14+
- runFlow: ./shared/input_screen_enable_flow.yaml
15+
- runFlow: ./shared/input_screen_enable_bottom_bar_flow.yaml
16+
- runFlow: ./shared/input_screen_search_mode_flow.yaml
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
appId: com.duckduckgo.mobile.android
2+
name: "Input Screen Search Mode test (top config)"
3+
tags:
4+
- inputScreenTest
5+
- releaseTest
6+
---
7+
- retry:
8+
maxRetries: 3
9+
commands:
10+
- launchApp:
11+
clearState: true
12+
stopApp: true
13+
- runFlow: ../shared/skip_all_onboarding.yaml
14+
- runFlow: ./shared/input_screen_enable_flow.yaml
15+
- runFlow: ./shared/input_screen_search_mode_flow.yaml
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
appId: com.duckduckgo.mobile.android
2+
---
3+
- tapOn:
4+
id: "omnibarTextInput"
5+
optional: true
6+
- assertVisible:
7+
id: "inputModeWidget"
8+
- tapOn:
9+
text: "Duck.ai"
10+
11+
# verify that typed text is visible
12+
- assertVisible:
13+
text: "Ask privately"
14+
- inputText: "hey"
15+
- assertVisible:
16+
text: "hey"
17+
childOf:
18+
id: "inputField"
19+
20+
# verify clear text button works
21+
- tapOn:
22+
id: "inputFieldClearText"
23+
- assertNotVisible:
24+
text: "hey"
25+
childOf:
26+
id: "inputField"
27+
28+
# verify new line button works
29+
- inputText: "ducks"
30+
- tapOn:
31+
id: "actionNewLine"
32+
- inputText: "go"
33+
- assertVisible:
34+
text: 'ducks\Rgo'
35+
childOf:
36+
id: "inputField"
37+
38+
# verify that Duck.ai web view is opened when submitting a query in chat mode
39+
- tapOn:
40+
id: "actionSend"
41+
- assertVisible:
42+
text: "Duck.ai"
43+
childOf:
44+
id: "toolbar"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
appId: com.duckduckgo.mobile.android
2+
---
3+
# enable bottom address bar
4+
- runFlow: ../../shared/open_appearance_settings_screen.yaml
5+
- tapOn: "Address Bar"
6+
- tapOn: "Bottom"
7+
- tapOn: "Save"
8+
- action: back
9+
- action: back

0 commit comments

Comments
 (0)