| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // @dart = 2.8 |
| |
| import 'package:flutter_tools/src/drive/web_driver_service.dart'; |
| import 'package:webdriver/sync_io.dart' as sync_io; |
| |
| import '../../src/common.dart'; |
| |
| void main() { |
| testWithoutContext('getDesiredCapabilities Chrome with headless on', () { |
| final Map<String, dynamic> expected = <String, dynamic>{ |
| 'acceptInsecureCerts': true, |
| 'browserName': 'chrome', |
| 'goog:loggingPrefs': <String, String>{ |
| sync_io.LogType.browser: 'INFO', |
| sync_io.LogType.performance: 'ALL', |
| }, |
| 'chromeOptions': <String, dynamic>{ |
| 'w3c': false, |
| 'args': <String>[ |
| '--bwsi', |
| '--disable-background-timer-throttling', |
| '--disable-default-apps', |
| '--disable-extensions', |
| '--disable-popup-blocking', |
| '--disable-translate', |
| '--no-default-browser-check', |
| '--no-sandbox', |
| '--no-first-run', |
| '--headless' |
| ], |
| 'perfLoggingPrefs': <String, String>{ |
| 'traceCategories': |
| 'devtools.timeline,' |
| 'v8,blink.console,benchmark,blink,' |
| 'blink.user_timing' |
| } |
| } |
| }; |
| |
| expect(getDesiredCapabilities(Browser.chrome, true), expected); |
| }); |
| |
| testWithoutContext('getDesiredCapabilities Chrome with headless off', () { |
| const String chromeBinary = 'random-binary'; |
| final Map<String, dynamic> expected = <String, dynamic>{ |
| 'acceptInsecureCerts': true, |
| 'browserName': 'chrome', |
| 'goog:loggingPrefs': <String, String>{ |
| sync_io.LogType.browser: 'INFO', |
| sync_io.LogType.performance: 'ALL', |
| }, |
| 'chromeOptions': <String, dynamic>{ |
| 'binary': chromeBinary, |
| 'w3c': false, |
| 'args': <String>[ |
| '--bwsi', |
| '--disable-background-timer-throttling', |
| '--disable-default-apps', |
| '--disable-extensions', |
| '--disable-popup-blocking', |
| '--disable-translate', |
| '--no-default-browser-check', |
| '--no-sandbox', |
| '--no-first-run', |
| ], |
| 'perfLoggingPrefs': <String, String>{ |
| 'traceCategories': |
| 'devtools.timeline,' |
| 'v8,blink.console,benchmark,blink,' |
| 'blink.user_timing' |
| } |
| } |
| }; |
| |
| expect(getDesiredCapabilities(Browser.chrome, false, chromeBinary), expected); |
| |
| }); |
| |
| testWithoutContext('getDesiredCapabilities Firefox with headless on', () { |
| final Map<String, dynamic> expected = <String, dynamic>{ |
| 'acceptInsecureCerts': true, |
| 'browserName': 'firefox', |
| 'moz:firefoxOptions' : <String, dynamic>{ |
| 'args': <String>['-headless'], |
| 'prefs': <String, dynamic>{ |
| 'dom.file.createInChild': true, |
| 'dom.timeout.background_throttling_max_budget': -1, |
| 'media.autoplay.default': 0, |
| 'media.gmp-manager.url': '', |
| 'media.gmp-provider.enabled': false, |
| 'network.captive-portal-service.enabled': false, |
| 'security.insecure_field_warning.contextual.enabled': false, |
| 'test.currentTimeOffsetSeconds': 11491200 |
| }, |
| 'log': <String, String>{'level': 'trace'} |
| } |
| }; |
| |
| expect(getDesiredCapabilities(Browser.firefox, true), expected); |
| }); |
| |
| testWithoutContext('getDesiredCapabilities Firefox with headless off', () { |
| final Map<String, dynamic> expected = <String, dynamic>{ |
| 'acceptInsecureCerts': true, |
| 'browserName': 'firefox', |
| 'moz:firefoxOptions' : <String, dynamic>{ |
| 'args': <String>[], |
| 'prefs': <String, dynamic>{ |
| 'dom.file.createInChild': true, |
| 'dom.timeout.background_throttling_max_budget': -1, |
| 'media.autoplay.default': 0, |
| 'media.gmp-manager.url': '', |
| 'media.gmp-provider.enabled': false, |
| 'network.captive-portal-service.enabled': false, |
| 'security.insecure_field_warning.contextual.enabled': false, |
| 'test.currentTimeOffsetSeconds': 11491200 |
| }, |
| 'log': <String, String>{'level': 'trace'} |
| } |
| }; |
| |
| expect(getDesiredCapabilities(Browser.firefox, false), expected); |
| }); |
| |
| testWithoutContext('getDesiredCapabilities Edge', () { |
| final Map<String, dynamic> expected = <String, dynamic>{ |
| 'acceptInsecureCerts': true, |
| 'browserName': 'edge', |
| }; |
| |
| expect(getDesiredCapabilities(Browser.edge, false), expected); |
| }); |
| |
| testWithoutContext('getDesiredCapabilities macOS Safari', () { |
| final Map<String, dynamic> expected = <String, dynamic>{ |
| 'browserName': 'safari', |
| }; |
| |
| expect(getDesiredCapabilities(Browser.safari, false), expected); |
| }); |
| |
| testWithoutContext('getDesiredCapabilities iOS Safari', () { |
| final Map<String, dynamic> expected = <String, dynamic>{ |
| 'platformName': 'ios', |
| 'browserName': 'safari', |
| 'safari:useSimulator': true |
| }; |
| |
| expect(getDesiredCapabilities(Browser.iosSafari, false), expected); |
| }); |
| |
| testWithoutContext('getDesiredCapabilities android chrome', () { |
| final Map<String, dynamic> expected = <String, dynamic>{ |
| 'browserName': 'chrome', |
| 'platformName': 'android', |
| 'goog:chromeOptions': <String, dynamic>{ |
| 'androidPackage': 'com.android.chrome', |
| 'args': <String>['--disable-fullscreen'] |
| }, |
| }; |
| |
| expect(getDesiredCapabilities(Browser.androidChrome, false), expected); |
| }); |
| } |