Skip to content

Commit

Permalink
try to reproduce flaky test FileDownloadToFolderWithCdpTest
Browse files Browse the repository at this point in the history
  • Loading branch information
asolntsev committed Mar 30, 2024
1 parent a687559 commit 2765baf
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 191 deletions.
160 changes: 2 additions & 158 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
gradle-task: [ 'check', 'edge_headless_smoke' ]
gradle-task: [ 'edge_headless_smoke' ]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
gradle-task: [ 'check', 'firefox_headless', 'chrome_headless' ]
gradle-task: [ 'firefox_headless', 'chrome_headless' ]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -70,159 +70,3 @@ jobs:
path: |
**/build/reports
**/build/test-results
run-android-tests:
runs-on: ubuntu-latest
env:
APPIUM_TEST_SERVER_PORT: 4723
APPIUM_TEST_SERVER_HOST: 127.0.0.1
APPIUM_STARTUP_TIMEOUT_SEC: 30
steps:
- name: Checkout
uses: actions/checkout@v4
- name: AVD cache
uses: actions/cache@v4
with:
path: |
build/apps
~/.android/avd/*
~/.android/adb*
key: ${{ runner.os }}-android-tests-${{ hashFiles('**/*.zip*') }}
restore-keys: |
${{ runner.os }}-android-tests-
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Appium
run: |
npm install -g appium
npm install -g appium-doctor
- name: Start Appium server
run: |
cwd=$(pwd)
pushd "$cwd"
cd ~
appium driver install uiautomator2
appium-doctor
- name: Enable KVM
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: Run tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 29
profile: pixel_3_xl
disable-animations: true
emulator-options: -no-snapshot -no-window -no-boot-anim -camera-back emulated -camera-front emulated -gpu swiftshader_indirect
script: ./gradlew clean android --info
- uses: actions/upload-artifact@v4
if: always()
with:
name: test-report-android
path: |
**/build/reports
**/build/test-results
**/appium.log
run-ios-tests:
runs-on: macOS-14
env:
APPIUM_TEST_SERVER_PORT: 4723
APPIUM_TEST_SERVER_HOST: 127.0.0.1
APPIUM_STARTUP_TIMEOUT_SEC: 30
steps:
- uses: actions/checkout@v4
- name: Setup iOS simulator
uses: futureware-tech/simulator-action@v3
with:
model: 'iPhone 15'
os: 'iOS'
os_version: '17.2'
- uses: actions/cache@v4
with:
path: build/apps
key: ${{ runner.os }}-ios-tests-${{ hashFiles('**/*.zip*') }}
restore-keys: |
${{ runner.os }}-ios-tests-
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Appium
run: |
npm install -g appium
npm install -g appium-doctor
- name: Log Xcode Version
run: xcodebuild -version
- name: Log Installed Simulators
run: xcrun simctl list
- name: Log Runtimes
run: xcrun simctl list runtimes
- name: Start Appium server
run: |
cwd=$(pwd)
pushd "$cwd"
cd ~
appium driver install xcuitest
appium driver install safari
appium-doctor
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
cache: 'gradle'
java-version: '17'
- name: Run iOS tests
run: ./gradlew ios --no-daemon --console=plain -i
- uses: actions/upload-artifact@v4
if: always()
with:
name: test-report-ios
path: |
**/build/reports
**/build/test-results
**/appium.log
run-selenoid-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
cache: 'gradle'
java-version: '17'
- name: Start selenoid
uses: Xotabu4/selenoid-github-action@v2
- name: Run integration tests
uses: gradle/gradle-build-action@v3
with:
arguments: selenoidTests
- uses: actions/upload-artifact@v4
if: always()
with:
name: test-report-selenoid
path: |
**/build/reports
**/build/test-results
auto-merge-dependabot:
name: 🤖 Auto merge dependabot PR
timeout-minutes: 10
needs: [run-tests-on-linux, run-tests-on-windows, run-android-tests, run-ios-tests, run-selenoid-tests]
if: ${{ github.actor == 'dependabot[bot]' }}
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write
steps:
- name: 🤖 Merge PR from dependabot
uses: fastify/github-action-merge-dependabot@v3.10.1
with:
github-token: ${{secrets.GITHUB_TOKEN}}
target: minor
merge-method: rebase
20 changes: 10 additions & 10 deletions gradle/tests.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ subprojects {
tasks.register("ie", Test) {
systemProperties['selenide.browser'] = 'ie'
systemProperties['selenide.timeout'] = '8000'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude '**/AlertText.*'
exclude '**/ConfirmTest.*'
exclude 'com/codeborne/selenide/**/*'
Expand All @@ -17,7 +17,7 @@ subprojects {

tasks.register("edge", Test) {
systemProperties['selenide.browser'] = 'edge'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
outputs.upToDateWhen {false}
Expand All @@ -26,7 +26,7 @@ subprojects {
tasks.register("edge_headless", Test) {
systemProperties['selenide.browser'] = 'edge'
systemProperties['selenide.headless'] = 'true'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
outputs.upToDateWhen {false}
Expand All @@ -43,7 +43,7 @@ subprojects {

tasks.register("chrome", Test) {
systemProperties['selenide.browser'] = 'chrome'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
outputs.upToDateWhen {false}
Expand All @@ -52,7 +52,7 @@ subprojects {
tasks.register("chrome_headless", Test) {
systemProperties['selenide.browser'] = 'chrome'
systemProperties['selenide.headless'] = 'true'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
outputs.upToDateWhen {false}
Expand All @@ -70,15 +70,15 @@ subprojects {
tasks.register("chrome_remote", Test) {
systemProperties['selenide.remote'] = 'http://localhost:4444/wd/hub'
systemProperties['selenide.browser'] = 'chrome'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
outputs.upToDateWhen {false}
}

tasks.register("firefox", Test) {
systemProperties['selenide.browser'] = 'firefox'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
outputs.upToDateWhen {false}
Expand All @@ -87,15 +87,15 @@ subprojects {
tasks.register("firefox_headless", Test) {
systemProperties['selenide.browser'] = 'firefox'
systemProperties['selenide.headless'] = 'true'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
outputs.upToDateWhen {false}
}

tasks.register("safari", Test) {
systemProperties['selenide.browser'] = 'safari'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
maxParallelForks = 1
Expand All @@ -105,7 +105,7 @@ subprojects {
tasks.register("firefox_remote", Test) {
systemProperties['selenide.remote'] = 'http://localhost:4444/wd/hub'
systemProperties['selenide.browser'] = 'firefox'
include 'integration/**/*'
include 'integration/**/*Download*Test*'
exclude 'com/codeborne/selenide/**/*'
exclude 'org/selenide/**/*'
outputs.upToDateWhen {false}
Expand Down

0 comments on commit 2765baf

Please sign in to comment.