fastlane-plugin-firebase_test_lab icon indicating copy to clipboard operation
fastlane-plugin-firebase_test_lab copied to clipboard

Scheme count error on Test Plans

Open sneha-je opened this issue 5 years ago • 10 comments

Hello,

I'm running latest version of the plugin with Xcode 11.5 and now switched to Test Plans. The .xctestrun file now has: CodeCoverageBuildableInfos TestConfigurations TestPlan xctestrun_metadata

image So, this is failing at unless size == 1 UI.user_error!("The app bundle may contain only one scheme, #{size} found.") end and I see the error

The app bundle may contain only one scheme, 3 found.

Could you please update the plugin to be able to use with TestPlans ?

Thanks

sneha-je avatar Jun 04 '20 08:06 sneha-je

Have the same problem. In any case, using gcloud CLI, it seems Firebase testlab doesn't support XCode 11.5 too. I have send a pull request to Google Firebase Team.

tonicfx avatar Jul 16 '20 08:07 tonicfx

While looking at the source code, I've seen a new parameter: skip_validation (c4f0bfd) Since the validation is quite broken in my opinion (only one scheme possible, no Unit test), I'll use it and you can do the same.

borgeser avatar Nov 19 '20 17:11 borgeser

Any updates over this? I'm facing the same issue on the latest version of the plugin (1.0.7) when trying to use testPlan, I saw that I can send zip files on Test Lab for Xcode 12.3, so maybe their already supporting TestPlans?

dennismozart1994 avatar May 10 '21 21:05 dennismozart1994

The app bundle may contain only one scheme, 3 found.. Getting this error even after checking that zip file contains only 1 xctestrun and one debug iphoneos folder. Manually uploaded this to test lab and was able to run its successfully but through fastlane getting issue.

tusharnuk371 avatar Jun 03 '21 14:06 tusharnuk371

While looking at the source code, I've seen a new parameter: skip_validation (c4f0bfd) Since the validation is quite broken in my opinion (only one scheme possible, no Unit test), I'll use it and you can do the same.

How to use this skip_validation?

tusharnuk371 avatar Jun 03 '21 14:06 tusharnuk371

While looking at the source code, I've seen a new parameter: skip_validation (c4f0bfd) Since the validation is quite broken in my opinion (only one scheme possible, no Unit test), I'll use it and you can do the same.

How to use this skip_validation?

You add this as parameter (skip_validation: true) of the function firebase_test_lab_ios_xctest(), at the same level you put the others parameters app_path , gcp_project or devices.

borgeser avatar Jun 06 '21 11:06 borgeser

@borgeser I tried you suggestion but unfortunately this parameter skip_validation: true is not found.

[15:13:44]: fastlane finished with errors

[!] Could not find option 'skip_validation' in the list of available options: workspace, project, scheme, device, devices, skip_detect_devices, force_quit_simulator, reset_simulator, disable_slide_to_type, prelaunch_simulator, reinstall_app, app_identifier, only_testing, skip_testing, testplan, xctestrun, toolchain, clean, code_coverage, address_sanitizer, thread_sanitizer, open_report, disable_xcpretty, output_directory, output_style, output_types, output_files, buildlog_path, include_simulator_logs, suppress_xcode_output, formatter, xcpretty_args, derived_data_path, should_zip_build_products, result_bundle, use_clang_report_name, concurrent_workers, max_concurrent_simulators, disable_concurrent_testing, skip_build, test_without_building, build_for_testing, sdk, configuration, xcargs, xcconfig, app_name, deployment_target_version, slack_url, slack_channel, slack_message, slack_use_webhook_configured_username_and_icon, slack_username, slack_icon_url, skip_slack, slack_only_on_failure, destination, custom_report_file_name, xcodebuild_command, cloned_source_packages_path, fail_build
/Users/pb/.rvm/gems/ruby-2.7.2/gems/fastlane-2.147.0/fastlane/lib/fastlane/plugins/plugin_manager.rb:162: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open

pavelbaramov avatar Aug 26 '22 12:08 pavelbaramov

@pavelbaramov You are putting the parameter in the wrong function I guess.

Bad:

scan(
  skip_validation: true,
  scheme: 'YourApp',                  # XCTest scheme
  clean: true,                        # Recommended: This would ensure the build would not include unnecessary files
  skip_detect_devices: true,          # Required
  build_for_testing: true,            # Required
  sdk: 'iphoneos',                    # Required
  should_zip_build_products: true     # Must be true to set the correct format for Firebase Test Lab
)

Good:

firebase_test_lab_ios_xctest(
  skip_validation: true,
  gcp_project: 'your-google-project', # Your Google Cloud project name
  devices: [                          # Device(s) to run tests on
    {
      ios_model_id: 'iphonex',        # Device model ID, see gcloud command above
      ios_version_id: '11.2',         # iOS version ID, see gcloud command above
      locale: 'en_US',                # Optional: default to en_US if not set
      orientation: 'portrait'         # Optional: default to portrait if not set
    }
  ]
)
``'

borgeser avatar Aug 26 '22 12:08 borgeser

I tried this way too. and I got this:

[15:37:32]: Could not find option 'skip_validation' in the list of available options: gcp_project, gcp_requests_timeout, gcp_additional_client_info, app_path, devices, async, timeout_sec, result_storage, oauth_key_file_path

+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
| 2    | scan             | 132         |
+------+------------------+-------------+

[15:37:32]: fastlane finished with errors

[!] Could not find option 'skip_validation' in the list of available options: gcp_project, gcp_requests_timeout, gcp_additional_client_info, app_path
```, devices, async, timeout_sec, result_storage, oauth_key_file_path

pavelbaramov avatar Aug 26 '22 14:08 pavelbaramov

@pavelbaramov I guess the version you are using doesn't have this option. So you should have this configuration in the Pluginfile:

gem 'fastlane-plugin-firebase_test_lab', git: '[email protected]:fastlane/fastlane-plugin-firebase_test_lab', branch: 'master'

ngoclt avatar Dec 01 '22 14:12 ngoclt