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