angular-docs-cn/modules/playground/test/benchpress/webdriver_async.server.spec.dart
Julie Ralph 5a59e44765 chore(test): migrate Dart tests to package:test
Instead of running with karma and the karma-dart shim, run dart
tests directly using the new package:test runner. This migrates
away from package:unittest.

Fixes a couple tests, mostly associated with depending on absolute
URLs or editing the test providers after an injector had already
been created.

Remove karma-dart and associated files. Change gupfiles to run tests
via `pub run test` instead.
2016-03-04 02:27:44 +00:00

56 lines
1.5 KiB
Dart

import 'dart:async';
import 'dart:io' show Platform;
import 'package:guinness2/guinness2.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/playground/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':
'v8,blink.console,disabled-by-default-devtools.timeline'
},
},
'loggingPrefs': {'performance': 'ALL', 'browser': 'ALL',}
});
}