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