1{ 2 // Contains groups of flags with variants, use by browsers 3 flags: { 4 flag-group-1: { 5 // Create variants (2 x 2 = 4) by creating the product of multiple 6 // flags and values. 7 --js-flags: [ 8 null, // null => flag is not set 9 "--max-opt=1", 10 // "--max-opt=2", 11 // "--max-opt=4", 12 ], 13 --enable-fied-trial-config: [ 14 null, // null => flag is not set 15 "" // "" => flag is set without a value 16 ] 17 }, 18 // Define custom flag groups here (referenced by name): 19 chrome-custom: { 20 // Use strings to create arbitrary flag combinations 21 "deafult": "", 22 "experiment_1": "--enable-field-trial-config --disable-features=V8SlowHistograms", 23 "experiment_2": "--enable-field-trial-config --enable-features=V8SlowHistograms", 24 }, 25 26 // ------------------------------------------------------------------------ 27 // Examples: 28 example-group-1: { 29 // This will result in 2 x 2 = 4 flag configurations that are run: 30 // 31 // 1. no flags (both entries have a `null` variant) 32 // 2. `--js-flags=--no-opt` 33 // 3. `--js-flags=--no-opt --enable-field-trial-config` 34 // 4. `--enable-field-trial-config` 35 --js-flags: [null, "--no-opt"], 36 --enable-field-trial-config: [null, ""] 37 }, 38 example-group-2: { 39 // This flag group creates 3 x 2 = 6 varaints: 40 // Use the empty string "" for flags without values 41 "--enable-fied-trial-config": "", 42 // A flag with multiple variants: 43 --js-flags: [ 44 null, // variant 1: null == flag is not set 45 "--no-opt --no-ic", // variant 2 46 "--no-sparkplug", // variant 2 47 ] 48 // Flag with two variants: unset and set 49 "--no-sandbox": [ 50 null, // variant 1: null => flag is not set 51 "", // variant 2: "" => flag is set without value 52 ] 53 }, 54 }, 55 56 // -------------------------------------------------------------------------- 57 // Contains browser configs 58 browsers: { 59 "chrome-stable-with-flags": { 60 // For "path" you can use a path, browser name, or a versioned browser. 61 // See '--browser' option for all possible values. 62 path: "chrome-stable", 63 # Either the browsers key ("chrome-stable-with-flags") if no label 64 # is specified, otherwise the this label property ("custom-browser-label") 65 # is used. 66 label: "custom-browser-label", 67 flags: [ 68 // You can reference multiple flag-groups here, any name added to 69 // the 'flags' dict above can be used here. 70 "flag-group-1", 71 // More flag groups can be added, for instance "chrome-custom", and 72 // you get the product of all flag variants. 73 // You can also directly define fixed flags 74 // "--js-flags=--no-opt", 75 ] 76 } 77 }, 78 79 // You can use either comments or other sections to hide configurations 80 // Supported browser names are: 81 // * Chrome: chrome-stable, chrome-beta, chrome-dev, chrome-canary 82 // * Edge: edge-stable, edge-beta, edge-dev, edge-canary 83 // * Safari: safari, safari-tp 84 // * Firefox: firefox-stable, firefox-dev, firefox-nightly 85 browsers-disabled: { 86 "chrome-stable": { 87 browser: "chrome-stable", // or any other name 88 flags: [ /* ... add your flag groups here */ ] 89 }, 90 "chromium-mac-local": { 91 path: "~/Documents/chromium/src/out/Release/Chromium.app", 92 // Use custom chromedriver binary for local builds: 93 driver: "~/Documents/chromium/src/out/Release/chromedriver" 94 flags: [ /* ... add your flag groups here */ ] 95 }, 96 "chrome-android-canary": { 97 browser: "chrome-canary", 98 driver: "adb", // Just adb for a single device 99 flags: [ /* ... add your flag groups here */ ] 100 }, 101 "chrome-android-canary-pixel": { 102 browser: "chrome-canary", 103 driver: { 104 type: "adb", 105 // Use unique name or serial number from `adb devices -l` 106 device_id: "Pixel_7_Pro" 107 } 108 flags: [ /* ... add your flag groups here */ ] 109 }, 110 "safari": { 111 browser: "safari", 112 }, 113 "safari-tech-preview": { 114 browser: "safari-tp", 115 }, 116 "safari-ios": { 117 browser: "safari", 118 driver: { 119 type: "ios", 120 // Use the device UUID, see "xcrun xctrace list devices" for avilable 121 // devices and simulators. 122 device_id: "00001234-AAAA-BBBB-1111-11AA22BB33DD" 123 } 124 } 125 } 126} 127