diff --git a/README.md b/README.md index b7d71c9..3f2f858 100644 --- a/README.md +++ b/README.md @@ -195,7 +195,7 @@ browser_caps: ## Executing The Tests -- Switch to `run_first_test` directory under [Android examples](android/examples) or [iOS examples](ios/examples) +- Switch to `run-first-test` directory under [Android examples](android/examples) or [iOS examples](ios/examples) - Go to `config/first.config.yml` and edit the username, acessKey and add your app url. @@ -208,7 +208,7 @@ bundle exec rake first ### **Speed up test execution with parallel testing :** -- Switch to `run_parallel_test` directory under [Android examples](android/examples/) or [iOS examples](ios/examples/) +- Switch to `run-parallel-test` directory under [Android examples](android/examples/) or [iOS examples](ios/examples/) ### **Use Local testing for apps that access resources hosted in development or testing environments :** diff --git a/android/examples/Gemfile b/android/examples/Gemfile index 229a8ef..d4d1c28 100644 --- a/android/examples/Gemfile +++ b/android/examples/Gemfile @@ -2,8 +2,8 @@ source 'http://rubygems.org' gem 'cucumber' gem 'selenium-cucumber' -gem 'selenium-webdriver', '~> 3.142', '>= 3.142.5' +gem 'selenium-webdriver' gem 'rspec' gem 'rake' gem 'parallel_tests' -gem 'appium_lib' \ No newline at end of file +gem 'appium_lib' diff --git a/android/examples/Gemfile.lock b/android/examples/Gemfile.lock deleted file mode 100644 index cc0dd64..0000000 --- a/android/examples/Gemfile.lock +++ /dev/null @@ -1,105 +0,0 @@ -GEM - remote: http://rubygems.org/ - specs: - appium_lib (12.0.1) - appium_lib_core (~> 5.0) - nokogiri (~> 1.8, >= 1.8.1) - tomlrb (>= 1.1, < 3.0) - appium_lib_core (5.3.0) - faye-websocket (~> 0.11.0) - selenium-webdriver (~> 4.2, < 4.5) - builder (3.2.4) - childprocess (4.1.0) - chunky_png (1.4.0) - cucumber (8.0.0) - builder (~> 3.2, >= 3.2.4) - cucumber-ci-environment (~> 9.0, >= 9.0.4) - cucumber-core (~> 11.0, >= 11.0.0) - cucumber-cucumber-expressions (~> 15.1, >= 15.1.1) - cucumber-gherkin (~> 23.0, >= 23.0.1) - cucumber-html-formatter (~> 19.1, >= 19.1.0) - cucumber-messages (~> 18.0, >= 18.0.0) - diff-lcs (~> 1.5, >= 1.5.0) - mime-types (~> 3.4, >= 3.4.1) - multi_test (~> 1.1, >= 1.1.0) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-ci-environment (9.1.0) - cucumber-core (11.0.0) - cucumber-gherkin (~> 23.0, >= 23.0.1) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-cucumber-expressions (15.2.0) - cucumber-gherkin (23.0.1) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-html-formatter (19.2.0) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-messages (18.0.0) - cucumber-tag-expressions (4.1.0) - diff-lcs (1.5.0) - eventmachine (1.2.7) - faye-websocket (0.11.1) - eventmachine (>= 0.12.0) - websocket-driver (>= 0.5.1) - ffi (1.15.5) - mime-types (3.4.1) - mime-types-data (~> 3.2015) - mime-types-data (3.2022.0105) - multi_test (1.1.0) - nokogiri (1.13.8-arm64-darwin) - racc (~> 1.4) - nokogiri (1.13.8-x86_64-darwin) - racc (~> 1.4) - parallel (1.22.1) - parallel_tests (3.12.0) - parallel - racc (1.6.0) - rake (13.0.6) - rexml (3.2.5) - rspec (3.11.0) - rspec-core (~> 3.11.0) - rspec-expectations (~> 3.11.0) - rspec-mocks (~> 3.11.0) - rspec-core (3.11.0) - rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-mocks (3.11.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-support (3.11.0) - rubyzip (2.3.2) - selenium-cucumber (3.1.5) - appium_lib (>= 8.0.2) - chunky_png (>= 1.3.5) - cucumber (>= 2.3.0) - rspec (>= 3.4.0) - selenium-webdriver (>= 2.53.0) - selenium-webdriver (4.4.0) - childprocess (>= 0.5, < 5.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - sys-uname (1.2.2) - ffi (~> 1.1) - tomlrb (2.0.3) - websocket (1.2.9) - websocket-driver (0.7.5) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - -PLATFORMS - arm64-darwin-21 - x86_64-darwin-21 - -DEPENDENCIES - appium_lib - cucumber - parallel_tests - rake - rspec - selenium-cucumber - selenium-webdriver - -BUNDLED WITH - 2.3.21 diff --git a/android/examples/run-first-test/config/first.config.yml b/android/examples/run-first-test/config/first.config.yml index 184ce14..739c110 100644 --- a/android/examples/run-first-test/config/first.config.yml +++ b/android/examples/run-first-test/config/first.config.yml @@ -4,15 +4,12 @@ key: "LT_ACCESS_KEY" # Add Lambdtest accessKey here common_caps: - "build": "br-1" - browser_caps: - "isRealMobile": "true" - "platformName": "android" - "automationName": "UiAutomation2" - "deviceName": "Galaxy S21 5G" - "platformVersion": "11" - "app": "lt://proverbial-android" # Add your app url here + "platformName": "Android" + "deviceName": "Galaxy S22 5G" + "platformVersion": "12" + "app": "lt://proverbial-android" diff --git a/android/examples/run-first-test/features/support/env.rb b/android/examples/run-first-test/features/support/env.rb index 43a55e5..81b6448 100644 --- a/android/examples/run-first-test/features/support/env.rb +++ b/android/examples/run-first-test/features/support/env.rb @@ -1,7 +1,6 @@ require 'yaml' require 'rspec' require 'selenium-cucumber' - require 'appium_lib' TASK_ID = (ENV['TASK_ID'] || 0).to_i @@ -11,66 +10,42 @@ @caps = CONFIG['common_caps'].merge(CONFIG['browser_caps'][TASK_ID]) - -#$bs_local = nil - - -puts @caps.inspect - -us= @caps["user"].inspect -ak= @caps["key"].inspect -is= @caps["isRealMobile"].inspect -pl= @caps["platform"].inspect -dn= @caps["deviceName"].inspect -pv= @caps["platformVersion"].inspect -ap= @caps["app"].inspect - - - -user= us.gsub("\"", "") -accessKey=ak.gsub("\"", "") -isRealMobile= is.gsub("\"", "") -platform= pl.gsub("\"", "") -deviceName= dn.gsub("\"", "") -platformVersion= pv.gsub("\"", "") -app= ap.gsub("\"", "") -puts isRealMobile - - -caps={ - - "LT:Options" => { - - "build" => "Cucumber Android Single", - "name" => "Cucumber Sample Test", - "platformName" => platform, - "isRealMobile" => isRealMobile, - "deviceName" => deviceName, - "platformVersion" => platformVersion, - "app" => app, - "w3c" => true - -}, - - +platform_name = ENV['PLATFORM_NAME'] ? ENV['PLATFORM_NAME'] : @caps["platformName"].inspect.gsub("\"", "") +is_real_mobile = ENV['IS_REAL_MOBILE'] ? ENV['IS_REAL_MOBILE'] : @caps["isRealMobile"].inspect.gsub("\"", "") +device_name = ENV['DEVICE_NAME'] ? ENV['DEVICE_NAME'] : @caps["deviceName"].inspect.gsub("\"", "") +platform_version = ENV['PLATFORM_VERSION'] ? ENV['PLATFORM_VERSION'] : @caps["platformVersion"].inspect.gsub("\"", "") +app = ENV['APP'] ? ENV['APP'] : @caps["app"].inspect.gsub("\"", "") + +caps = { + "LT:Options": { + build: "Cucumber Android Single", + name: "Cucumber Sample Test", + w3c: true, + platformName: platform_name, + isRealMobile: is_real_mobile, + deviceName: device_name, + platformVersion: platform_version, + app: app + } } +user = ENV['LT_USER'] ? ENV['LT_USER'] : CONFIG['user'] +access = ENV['LT_ACCESS'] ? ENV['LT_ACCESS'] : CONFIG['key'] +server = ENV['LT_SERVER'] ? ENV['LT_SERVER'] : CONFIG['server'] -appium_driver = Appium::Driver.new({ - 'caps' => caps, - 'appium_lib' => { - :server_url => "https://#{CONFIG['user']}:#{CONFIG['key']}@#{CONFIG['server']}/wd/hub" - #server_url: "https://webhook.site/5958677a-4db9-4253-bb76-5b98e97e4880" - }}, true) - - +$appium_driver = Appium::Driver.new( + { + caps: caps, + appium_lib: { + server_url: "https://#{user}:#{access}@#{server}/wd/hub" + } + }, + true +) begin - #$appium_driver = Appium::Driver.new(desired_caps, true) - $driver = appium_driver.start_driver - #example.run + puts caps + $driver = $appium_driver.start_driver ensure - #$driver.quit + # $driver.driver_quit end - - diff --git a/android/examples/run-parallel-tests/config/parallel.config.yml b/android/examples/run-parallel-tests/config/parallel.config.yml index f5b15a6..b96a44a 100644 --- a/android/examples/run-parallel-tests/config/parallel.config.yml +++ b/android/examples/run-parallel-tests/config/parallel.config.yml @@ -13,8 +13,7 @@ browser_caps: "isRealMobile": "true" "platformName": "android" "deviceName": "Galaxy S21 5G" - "platformVersion": "11" - "automationName": "UiAutomation2" + "platformVersion": "12" "app": "lt://proverbial-android" # Add your app url here - "isRealMobile": "true" diff --git a/ios/examples/Gemfile.lock b/ios/examples/Gemfile.lock deleted file mode 100644 index b9082cf..0000000 --- a/ios/examples/Gemfile.lock +++ /dev/null @@ -1,104 +0,0 @@ -GEM - remote: http://rubygems.org/ - specs: - appium_lib (12.0.1) - appium_lib_core (~> 5.0) - nokogiri (~> 1.8, >= 1.8.1) - tomlrb (>= 1.1, < 3.0) - appium_lib_core (5.3.0) - faye-websocket (~> 0.11.0) - selenium-webdriver (~> 4.2, < 4.5) - browserstack-local (1.4.0) - builder (3.2.4) - childprocess (4.1.0) - chunky_png (1.4.0) - cucumber (8.0.0) - builder (~> 3.2, >= 3.2.4) - cucumber-ci-environment (~> 9.0, >= 9.0.4) - cucumber-core (~> 11.0, >= 11.0.0) - cucumber-cucumber-expressions (~> 15.1, >= 15.1.1) - cucumber-gherkin (~> 23.0, >= 23.0.1) - cucumber-html-formatter (~> 19.1, >= 19.1.0) - cucumber-messages (~> 18.0, >= 18.0.0) - diff-lcs (~> 1.5, >= 1.5.0) - mime-types (~> 3.4, >= 3.4.1) - multi_test (~> 1.1, >= 1.1.0) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-ci-environment (9.1.0) - cucumber-core (11.0.0) - cucumber-gherkin (~> 23.0, >= 23.0.1) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-cucumber-expressions (15.2.0) - cucumber-gherkin (23.0.1) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-html-formatter (19.2.0) - cucumber-messages (~> 18.0, >= 18.0.0) - cucumber-messages (18.0.0) - cucumber-tag-expressions (4.1.0) - diff-lcs (1.5.0) - eventmachine (1.2.7) - faye-websocket (0.11.1) - eventmachine (>= 0.12.0) - websocket-driver (>= 0.5.1) - ffi (1.15.5) - mime-types (3.4.1) - mime-types-data (~> 3.2015) - mime-types-data (3.2022.0105) - multi_test (1.1.0) - nokogiri (1.13.8-arm64-darwin) - racc (~> 1.4) - parallel (1.22.1) - parallel_tests (3.12.0) - parallel - racc (1.6.0) - rake (13.0.6) - rexml (3.2.5) - rspec (3.11.0) - rspec-core (~> 3.11.0) - rspec-expectations (~> 3.11.0) - rspec-mocks (~> 3.11.0) - rspec-core (3.11.0) - rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-mocks (3.11.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-support (3.11.0) - rubyzip (2.3.2) - selenium-cucumber (3.1.5) - appium_lib (>= 8.0.2) - chunky_png (>= 1.3.5) - cucumber (>= 2.3.0) - rspec (>= 3.4.0) - selenium-webdriver (>= 2.53.0) - selenium-webdriver (4.4.0) - childprocess (>= 0.5, < 5.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - sys-uname (1.2.2) - ffi (~> 1.1) - tomlrb (2.0.3) - websocket (1.2.9) - websocket-driver (0.7.5) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - -PLATFORMS - arm64-darwin-21 - -DEPENDENCIES - appium_lib - browserstack-local - cucumber - parallel_tests - rake - rspec - selenium-cucumber - selenium-webdriver - -BUNDLED WITH - 2.3.21