Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: tools/testing/dart/browser_controller.dart

Issue 178223008: Replace run_selenium.py with Dart script that uses the browser controller for performance tests. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 library browser; 4 library browser;
5 5
6 import "dart:async"; 6 import "dart:async";
7 import "dart:convert" show LineSplitter, UTF8; 7 import "dart:convert" show LineSplitter, UTF8;
8 import "dart:core"; 8 import "dart:core";
9 import "dart:io"; 9 import "dart:io";
10 10
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 753
754 var adbDeviceMapping = new Map<String, AdbDevice>(); 754 var adbDeviceMapping = new Map<String, AdbDevice>();
755 // This cache is used to guarantee that we never see double reporting. 755 // This cache is used to guarantee that we never see double reporting.
756 // If we do we need to provide developers with this information. 756 // If we do we need to provide developers with this information.
757 // We don't add urls to the cache until we have run it. 757 // We don't add urls to the cache until we have run it.
758 Map<int, String> testCache = new Map<int, String>(); 758 Map<int, String> testCache = new Map<int, String>();
759 Map<int, String> doubleReportingOutputs = new Map<int, String>(); 759 Map<int, String> doubleReportingOutputs = new Map<int, String>();
760 760
761 BrowserTestingServer testingServer; 761 BrowserTestingServer testingServer;
762 762
763 /**
764 * The TestRunner takes the testingServer in as a constructor parameter in
765 * case we wish to have a testing server with different behavior (such as the
766 * case for performance testing.
767 */
763 BrowserTestRunner(this.globalConfiguration, 768 BrowserTestRunner(this.globalConfiguration,
764 this.localIp, 769 this.localIp,
765 this.browserName, 770 this.browserName,
766 this.maxNumBrowsers, 771 this.maxNumBrowsers,
767 {bool this.checkedMode: false}); 772 {bool this.checkedMode: false,
773 BrowserTestingServer this.testingServer});
768 774
769 Future<bool> start() { 775 Future<bool> start() {
770 // If [browserName] doesn't support opening new windows, we use new iframes 776 // If [browserName] doesn't support opening new windows, we use new iframes
771 // instead. 777 // instead.
772 bool useIframe = 778 bool useIframe =
773 !Browser.BROWSERS_WITH_WINDOW_SUPPORT.contains(browserName); 779 !Browser.BROWSERS_WITH_WINDOW_SUPPORT.contains(browserName);
774 testingServer = new BrowserTestingServer( 780 if (testingServer == null) {
775 globalConfiguration, localIp, useIframe); 781 testingServer = new BrowserTestingServer(
782 globalConfiguration, localIp, useIframe);
783 }
776 return testingServer.start().then((_) { 784 return testingServer.start().then((_) {
777 testingServer.testDoneCallBack = handleResults; 785 testingServer.testDoneCallBack = handleResults;
778 testingServer.testStatusUpdateCallBack = handleStatusUpdate; 786 testingServer.testStatusUpdateCallBack = handleStatusUpdate;
779 testingServer.testStartedCallBack = handleStarted; 787 testingServer.testStartedCallBack = handleStarted;
780 testingServer.nextTestCallBack = getNextTest; 788 testingServer.nextTestCallBack = getNextTest;
781 return getBrowsers().then((browsers) { 789 return getBrowsers().then((browsers) {
782 var futures = []; 790 var futures = [];
783 for (var browser in browsers) { 791 for (var browser in browsers) {
784 var url = testingServer.getDriverUrl(browser.id); 792 var url = testingServer.getDriverUrl(browser.id);
785 var future = browser.start(url).then((success) { 793 var future = browser.start(url).then((success) {
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
1152 // /favicon.ico requests 1160 // /favicon.ico requests
1153 } 1161 }
1154 request.response.write(textResponse); 1162 request.response.write(textResponse);
1155 request.listen((_) {}, onDone: request.response.close); 1163 request.listen((_) {}, onDone: request.response.close);
1156 request.response.done.catchError((error) { 1164 request.response.done.catchError((error) {
1157 if (!underTermination) { 1165 if (!underTermination) {
1158 print("URI ${request.uri}"); 1166 print("URI ${request.uri}");
1159 print("Textresponse $textResponse"); 1167 print("Textresponse $textResponse");
1160 throw "Error returning content to browser: $error"; 1168 throw "Error returning content to browser: $error";
1161 } 1169 }
1162 }); 1170 });
1163 } 1171 }
1164 void errorHandler(e) { 1172 void errorHandler(e) {
1165 if (!underTermination) print("Error occured in httpserver: $e"); 1173 if (!underTermination) print("Error occured in httpserver: $e");
1166 }; 1174 };
1167 1175
1168 httpServer.listen(handler, onError: errorHandler); 1176 httpServer.listen(handler, onError: errorHandler);
1169 1177
1170 // Set up the error reporting server that enables us to send back 1178 // Set up the error reporting server that enables us to send back
1171 // errors from the browser. 1179 // errors from the browser.
1172 port = globalConfiguration['test_driver_error_port']; 1180 port = globalConfiguration['test_driver_error_port'];
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1442 Dart test driver, number of tests: <div id="number"></div><br> 1450 Dart test driver, number of tests: <div id="number"></div><br>
1443 Currently executing: <div id="currently_executing"></div><br> 1451 Currently executing: <div id="currently_executing"></div><br>
1444 Unhandled error: <div id="unhandled_error"></div> 1452 Unhandled error: <div id="unhandled_error"></div>
1445 <iframe id="embedded_iframe"></iframe> 1453 <iframe id="embedded_iframe"></iframe>
1446 </body> 1454 </body>
1447 </html> 1455 </html>
1448 """; 1456 """;
1449 return driverContent; 1457 return driverContent;
1450 } 1458 }
1451 } 1459 }
OLDNEW
« no previous file with comments | « tools/get_archive.py ('k') | tools/testing/dart/browser_perf_testing/lib/browser_perf_testing.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698