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