fix(benchpress): benchpress fixes and a smoke test for Dart

This commit is contained in:
Yegor Jbanov
2015-02-20 17:44:23 -08:00
parent 0a0c0d8302
commit d1f03e509b
18 changed files with 263 additions and 61 deletions

View File

@ -7,6 +7,8 @@ dependencies:
browser: '>=0.10.0 <0.11.0'
dev_dependencies:
guinness: ">=0.1.16 <0.2.0"
benchpress:
path: ../benchpress
transformers:
- angular2:
bootstrap_entry_point: web/src/hello_world/index_common.dart

View File

@ -0,0 +1,16 @@
<!doctype html>
<html>
<head>
<title>Benchpress test</title>
</head>
<body>
<button onclick="pleaseLog()">Click me</button>
<div id="log"></div>
<script type="text/javascript">
function pleaseLog() {
document.getElementById("log").innerHTML = "hi";
}
</script>
</body>
</html>

View File

@ -0,0 +1,58 @@
import 'dart:async';
import 'dart:io' show Platform;
import 'package:guinness/guinness.dart';
import 'package:benchpress/benchpress.dart';
import 'package:benchpress/src/webdriver/async_webdriver_adapter.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',
}
});
}