# jobs for functional test parameters: vmImage: 'macOS-10.14' vmImageForIOS: 'macOS-10.13' # Not sure the reason, but macOS 10.14 instance raises no info.plist error xcodeForIOS: 10.1 xcodeForTVOS: 10.2 androidSDK: 28 appiumVersion: 'beta' ignoreVersionSkip: true CI: true jobs: # Run unit tests on different Node versions - job: func_test_ios_base pool: vmImage: ${{ parameters.vmImageForIOS }} variables: CI: ${{ parameters.ci }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/ios_setup.yml parameters: xcodeVersion: ${{ parameters.xcodeForIOS }} - template: ./functional/run_appium.yml - script: bundle exec rake test:func:ios TESTS=test/functional/ios/driver_test.rb,test/functional/ios/patch_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_iOS' - job: func_test_ios_webdriver1 pool: vmImage: ${{ parameters.vmImageForIOS }} variables: CI: ${{ parameters.ci }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/ios_setup.yml parameters: xcodeVersion: ${{ parameters.xcodeForIOS }} - template: ./functional/run_appium.yml - script: bundle exec rake test:func:ios TESTS=test/functional/ios/webdriver/create_session_test.rb,test/functional/ios/webdriver/w3c_actions_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_iOS_webdriver1' - job: func_test_ios_webdriver2 pool: vmImage: ${{ parameters.vmImageForIOS }} variables: CI: ${{ parameters.ci }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/ios_setup.yml parameters: xcodeVersion: ${{ parameters.xcodeForIOS }} - template: ./functional/run_appium.yml - script: bundle exec rake test:func:ios TESTS=test/functional/ios/webdriver/device_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_iOS_webdriver2' - job: func_test_ios_ios1 pool: vmImage: ${{ parameters.vmImageForIOS }} variables: CI: ${{ parameters.ci }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/ios_setup.yml parameters: xcodeVersion: ${{ parameters.xcodeForIOS }} - template: ./functional/run_appium.yml - script: bundle exec rake test:func:ios TESTS=test/functional/ios/ios/device_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_iOS_ios1' - job: func_test_ios_ios2 pool: vmImage: ${{ parameters.vmImageForIOS }} variables: CI: ${{ parameters.ci }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/ios_setup.yml parameters: xcodeVersion: ${{ parameters.xcodeForIOS }} - template: ./functional/run_appium.yml - script: npm install -g appium opencv4nodejs@4.17.0 displayName: Install opencv4nodejs@4.17.0 - script: bundle exec rake test:func:ios TESTS=test/functional/ios/ios/device_wda_attachment_test.rb,test/functional/ios/ios/image_comparison_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_iOS_ios2' - job: func_test_ios_ios3 pool: vmImage: ${{ parameters.vmImageForIOS }} variables: CI: ${{ parameters.ci }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/ios_setup.yml parameters: xcodeVersion: ${{ parameters.xcodeForIOS }} - script: brew install ffmpeg && brew tap wix/brew && brew install wix/brew/applesimutils displayName: Install ffmpeg and applesimutils - template: ./functional/run_appium.yml - script: bundle exec rake test:func:ios TESTS=test/functional/ios/ios/mjpeg_server_test.rb,test/functional/ios/ios/mobile_commands_test.rb,test/functional/ios/ios/search_context_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_iOS_ios3' - job: func_test_ios_tvos pool: vmImage: ${{ parameters.vmImage }} variables: CI: ${{ parameters.ci }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/ios_setup.yml parameters: xcodeVersion: ${{ parameters.xcodeForTVOS }} - template: ./functional/run_appium.yml - script: bundle exec rake test:func:ios TESTS=test/functional/ios/tv_driver_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_iOS_tv' - job: func_test_android_base pool: vmImage: ${{ parameters.vmImage }} variables: CI: ${{ parameters.ci }} ANDROID_SDK_VERSION: ${{ parameters.androidSDK }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/android_setup.yml - template: ./functional/run_appium.yml - script: bundle exec rake test:func:android TESTS=test/functional/android/driver_test.rb,test/functional/android/patch_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_android_base' - job: func_test_android_webdriver pool: vmImage: ${{ parameters.vmImage }} variables: CI: ${{ parameters.ci }} ANDROID_SDK_VERSION: ${{ parameters.androidSDK }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/android_setup.yml - template: ./functional/run_appium.yml - script: bundle exec rake test:func:android TESTS=test/functional/android/webdriver/create_session_test.rb,test/functional/android/webdriver/device_test.rb,test/functional/android/webdriver/w3c_actions_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'Run_func_test_on_android_base' - job: func_test_android_android1 pool: vmImage: ${{ parameters.vmImage }} variables: CI: ${{ parameters.ci }} ANDROID_SDK_VERSION: ${{ parameters.androidSDK }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/android_setup.yml - template: ./functional/run_appium.yml - script: bundle exec rake test:func:android TESTS=test/functional/android/android/device_test.rb displayName: Run test/functional/android/android/device_test.rb - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'func_test_android_android1' - job: func_test_android_android2 pool: vmImage: ${{ parameters.vmImage }} variables: CI: ${{ parameters.ci }} ANDROID_SDK_VERSION: ${{ parameters.androidSDK }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/android_setup.yml - template: ./functional/run_appium.yml - script: npm install -g appium opencv4nodejs@4.17.0 displayName: Install opencv4nodejs@4.17.0 - script: bundle exec rake test:func:android TESTS=test/functional/android/android/image_comparison_test.rb,test/functional/android/android/mjpeg_server_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'func_test_android_android2' - job: func_test_android_android3 pool: vmImage: ${{ parameters.vmImage }} variables: CI: ${{ parameters.ci }} ANDROID_SDK_VERSION: ${{ parameters.androidSDK }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/android_setup.yml - template: ./functional/run_appium.yml - script: bundle exec rake test:func:android TESTS=test/functional/android/android/mobile_commands_test.rb,test/functional/android/android/search_context_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'func_test_android_android3' - job: func_test_android_android4 pool: vmImage: ${{ parameters.vmImage }} variables: CI: ${{ parameters.ci }} ANDROID_SDK_VERSION: ${{ parameters.androidSDK }} IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/android_setup.yml - template: ./functional/run_appium.yml - script: bundle exec rake test:func:android TESTS=test/functional/android/android/device_data_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'func_test_android_android4' - job: func_test_android_mobile_command_espresso pool: vmImage: ${{ parameters.vmImage }} variables: CI: ${{ parameters.ci }} ANDROID_SDK_VERSION: ${{ parameters.androidSDK }} AUTOMATION_NAME_DROID: espresso IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }} APPIUM_VERSION: ${{ parameters.appiumVersion }} steps: - template: ./functional/android_setup.yml - template: ./functional/run_appium.yml - script: bundle exec rake test:func:android TESTS=test/functional/android/android/mobile_commands_test.rb displayName: Run tests - template: ./functional/publish_test_result.yml parameters: xcodeVersion: 'func_test_android_mobile_command_espresso'