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',
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								}
							 |