3 * Copyright 2012-2017 Anthon Pang. All Rights Reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 * @author Anthon Pang <apang@softwaredevelopment.ca>
22 namespace WebDriver\SauceLabs;
24 use WebDriver\Capability as BaseCapability;
27 * WebDriver\SauceLabs\Capability class
31 class Capability extends BaseCapability
34 * Desired capabilities - SauceLabs
36 * @see https://saucelabs.com/docs/additional-config
40 const NAME = 'name'; // Name the job
41 const BUILD = 'build'; // Record the build number
42 const TAGS = 'tags'; // Tag your jobs
43 const PASSED = 'passed'; // Record pass/fail status
44 const CUSTOM_DATA = 'custom-data'; // Record custom data
46 // Performance improvements and data collection
47 const RECORD_VIDEO = 'record-video'; // Video recording
48 const VIDEO_UPLOAD_ON_PASS = 'video-upload-on-pass'; // Video upload on pass
49 const RECORD_SCREENSHOTS = 'record-screenshots'; // Record step-by-step screenshots
50 const CAPTURE_HTML = 'capture-html'; // HTML source capture
51 const QUIET_EXCEPTIONS = 'webdriver.remote.quietExceptions'; // Enable Selenium 2's automatic screenshots
52 const SAUCE_ADVISOR = 'sauce-advisor'; // Sauce Advisor
55 const SELENIUM_VERSION = 'selenium-version'; // Use a specific Selenium version
56 const SINGLE_WINDOW = 'single-window'; // Selenium RC's single window mode
57 const USER_EXTENSIONS_URL = 'user-extensions-url'; // Selenium RC's user extensions
58 const FIREFOX_PROFILE_URL = 'firefox-profile-url'; // Selenium RC's custom Firefox profiles
61 const MAX_DURATION = 'max-duration'; // Set maximum test duration
62 const COMMAND_TIMEOUT = 'command-timeout'; // Set command timeout
63 const IDLE_TIMEOUT = 'idle-timeout'; // Set idle test timeout
66 const PRERUN = 'prerun'; // Prerun executables
67 const TUNNEL_IDENTIFIER = 'tunnel-identifier'; // Use identified tunnel
68 const SCREEN_RESOLUTION = 'screen-resolution'; // Use specific screen resolution
69 const DISABLE_POPUP_HANDLER = 'disable-popup-handler'; // Disable popup handler
70 const AVOID_PROXY = 'avoid-proxy'; // Avoid proxy
71 const DEVICE_ORIENTATION = 'deviceOrientation'; // Device orientation (portrait or landscape)
72 const DEVICE_TYPE = 'deviceType'; // Device type (phone or tablet)
75 const PUBLIC_RESULTS = 'public'; // Make public, private, or share jobs