Skip to content

Commit 5f1afd4

Browse files
committed
Try test
1 parent 2d647be commit 5f1afd4

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

.github/workflows/ci.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,16 @@ jobs:
6767
- name: Build APKs
6868
working-directory: ${{github.workspace}}/source
6969
run: ./gradlew assembleDebug --no-configuration-cache
70+
71+
- name: Enable KVM
72+
run: |
73+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
74+
sudo udevadm control --reload-rules
75+
sudo udevadm trigger --name-match=kvm
76+
77+
- name: Run tests
78+
uses: reactivecircus/android-emulator-runner@v2
79+
with:
80+
api-level: 29
81+
arch: x86_64
82+
script: ./gradlew connectedCheck

f3d/build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ dependencies {
5555
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
5656
implementation 'com.google.android.material:material:1.13.0'
5757
implementation files('libs/f3d.jar')
58+
59+
// For UI Tests
60+
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
61+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
62+
androidTestImplementation 'com.facebook.testing.screenshot:core:0.15.0'
5863
}
5964

6065
java {
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package app.f3d.F3D.android
2+
3+
import androidx.test.core.app.ActivityScenario.ActivityAction
4+
import androidx.test.ext.junit.rules.ActivityScenarioRule
5+
import androidx.test.ext.junit.runners.AndroidJUnit4
6+
import com.facebook.testing.screenshot.Screenshot
7+
import com.facebook.testing.screenshot.ViewHelpers
8+
import org.junit.Rule
9+
import org.junit.Test
10+
import org.junit.runner.RunWith
11+
12+
@RunWith(AndroidJUnit4::class)
13+
class MainActivityTest {
14+
@Rule
15+
var activityRule: ActivityScenarioRule<MainActivity?> =
16+
ActivityScenarioRule<MainActivity?>(MainActivity::class.java)
17+
18+
@Test
19+
fun testTakeScreenshot() {
20+
activityRule.getScenario().onActivity(ActivityAction { activity: MainActivity? ->
21+
val view = activity!!.window.decorView
22+
ViewHelpers.setupView(view)
23+
.setExactWidthDp(300)
24+
.setExactHeightDp(500)
25+
.layout()
26+
Screenshot.snap(view).record()
27+
})
28+
}
29+
}

0 commit comments

Comments
 (0)