Also adds default bindings for protractor. Also removes sync web driver adapter for Dart as we don’t have tests for it yet.
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
import 'dart:async';
 | 
						|
import 'dart:io' show Platform;
 | 
						|
import 'package:guinness/guinness.dart';
 | 
						|
import 'package:benchpress/benchpress.dart';
 | 
						|
import 'package:webdriver/webdriver.dart' show WebDriver, Capabilities, LogType, LogLevel, By;
 | 
						|
 | 
						|
main() {
 | 
						|
  describe('benchpress', () {
 | 
						|
    WebDriver driver;
 | 
						|
    Runner runner;
 | 
						|
 | 
						|
    beforeEach(() async {
 | 
						|
      driver = await createTestDriver();
 | 
						|
      await driver.get('http://localhost:8002/examples/src/benchpress/index.html');
 | 
						|
 | 
						|
      var bindings = [
 | 
						|
        bind(WebDriverAdapter).toFactory(() => new AsyncWebDriverAdapter(driver), [])
 | 
						|
      ];
 | 
						|
      runner = new Runner(bindings);
 | 
						|
    });
 | 
						|
 | 
						|
    afterEach(() async {
 | 
						|
      await driver.close();
 | 
						|
    });
 | 
						|
 | 
						|
    it('should work', () {
 | 
						|
      return runner.sample(
 | 
						|
        id: 'benchpress smoke test',
 | 
						|
        execute: () async {
 | 
						|
          var button = await driver.findElement(const By.tagName('button'));
 | 
						|
          await button.click();
 | 
						|
          var logText = await (await driver.findElement(const By.id('log'))).text;
 | 
						|
          expect(logText, 'hi');
 | 
						|
        }
 | 
						|
      );
 | 
						|
    });
 | 
						|
  });
 | 
						|
}
 | 
						|
 | 
						|
Future<WebDriver> createTestDriver() {
 | 
						|
  Map env = Platform.environment;
 | 
						|
  return WebDriver.createDriver(desiredCapabilities: {
 | 
						|
    'name': 'Dartium',
 | 
						|
    'browserName': 'chrome',
 | 
						|
    'chromeOptions': {
 | 
						|
      'binary': env['DARTIUM_BIN'],
 | 
						|
      'args': ['--js-flags=--expose-gc'],
 | 
						|
      'perfLoggingPrefs': {
 | 
						|
        'traceCategories': 'blink.console,disabled-by-default-devtools.timeline'
 | 
						|
      },
 | 
						|
    },
 | 
						|
    'loggingPrefs': {
 | 
						|
      'performance': 'ALL',
 | 
						|
      'browser': 'ALL',
 | 
						|
    }
 | 
						|
  });
 | 
						|
}
 |