Scheme count error on Test Plans
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
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
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.
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.
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?
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.
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?
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 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 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
}
]
)
``'
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 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'