diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 9a5972673..c83581927 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -37,7 +37,7 @@ jobs: platform: macos-12 e2e-tests: ios - java: 17 - platform: macos-latest + platform: ubuntu-latest e2e-tests: android - java: 21 platform: ubuntu-latest @@ -49,6 +49,13 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Enable KVM group perms + if: matrix.e2e-tests == 'android' + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@v4 with: @@ -84,8 +91,8 @@ jobs: script: ./gradlew e2eAndroidTest -PisCI -Pselenium.version=$latest_snapshot api-level: ${{ env.ANDROID_SDK_VERSION }} avd-name: ${{ env.ANDROID_EMU_NAME }} - sdcard-path-or-size: 1500M disable-spellchecker: true + disable-animations: true target: ${{ env.ANDROID_EMU_TARGET }} - name: Select Xcode diff --git a/src/e2eIosTest/java/io/appium/java_client/ios/BaseSafariTest.java b/src/e2eIosTest/java/io/appium/java_client/ios/BaseSafariTest.java index 654c4e58b..d35c76357 100644 --- a/src/e2eIosTest/java/io/appium/java_client/ios/BaseSafariTest.java +++ b/src/e2eIosTest/java/io/appium/java_client/ios/BaseSafariTest.java @@ -21,8 +21,10 @@ import org.junit.jupiter.api.BeforeAll; import java.io.IOException; +import java.time.Duration; public class BaseSafariTest extends BaseIOSTest { + private static final Duration WEBVIEW_CONNECT_TIMEOUT = Duration.ofSeconds(30); @BeforeAll public static void beforeClass() throws IOException { startAppiumServer(); @@ -31,6 +33,7 @@ public class BaseSafariTest extends BaseIOSTest { .withBrowserName(MobileBrowserType.SAFARI) .setDeviceName(DEVICE_NAME) .setPlatformVersion(PLATFORM_VERSION) + .setWebviewConnectTimeout(WEBVIEW_CONNECT_TIMEOUT) .setWdaLaunchTimeout(WDA_LAUNCH_TIMEOUT); driver = new IOSDriver(service.getUrl(), options); }