| import 'dart:convert'; |
| |
| import 'package:webdriver/src/common/log.dart'; |
| import 'package:webdriver/src/common/request.dart'; |
| import 'package:webdriver/src/common/webdriver_handler.dart'; |
| import 'package:webdriver/src/handler/w3c/alert.dart'; |
| import 'package:webdriver/src/handler/w3c/cookies.dart'; |
| import 'package:webdriver/src/handler/w3c/core.dart'; |
| import 'package:webdriver/src/handler/w3c/element.dart'; |
| import 'package:webdriver/src/handler/w3c/element_finder.dart'; |
| import 'package:webdriver/src/handler/w3c/frame.dart'; |
| import 'package:webdriver/src/handler/w3c/keyboard.dart'; |
| import 'package:webdriver/src/handler/w3c/mouse.dart'; |
| import 'package:webdriver/src/handler/w3c/navigation.dart'; |
| import 'package:webdriver/src/handler/w3c/session.dart'; |
| import 'package:webdriver/src/handler/w3c/timeouts.dart'; |
| import 'package:webdriver/src/handler/w3c/utils.dart'; |
| import 'package:webdriver/src/handler/w3c/window.dart'; |
| |
| class W3cWebDriverHandler extends WebDriverHandler { |
| @override |
| final SessionHandler session = W3cSessionHandler(); |
| |
| @override |
| final CoreHandler core = W3cCoreHandler(); |
| |
| @override |
| final KeyboardHandler keyboard = W3cKeyboardHandler(); |
| |
| @override |
| final MouseHandler mouse = W3cMouseHandler(); |
| |
| @override |
| final ElementFinder elementFinder = W3cElementFinder(); |
| |
| @override |
| final ElementHandler element = W3cElementHandler(); |
| |
| @override |
| final AlertHandler alert = W3cAlertHandler(); |
| |
| @override |
| final NavigationHandler navigation = W3cNavigationHandler(); |
| |
| @override |
| final WindowHandler window = W3cWindowHandler(); |
| |
| @override |
| final FrameHandler frame = W3cFrameHandler(); |
| |
| @override |
| final CookiesHandler cookies = W3cCookiesHandler(); |
| |
| @override |
| TimeoutsHandler timeouts = W3cTimeoutsHandler(); |
| |
| @override |
| LogsHandler get logs => W3cLogsHandler(); |
| |
| @override |
| WebDriverRequest buildGeneralRequest(HttpMethod method, String uri, |
| [params]) => |
| WebDriverRequest( |
| method, uri, params == null ? null : json.encode(serialize(params))); |
| |
| @override |
| dynamic parseGeneralResponse( |
| WebDriverResponse response, dynamic Function(String) createElement) => |
| deserialize(parseW3cResponse(response), createElement); |
| |
| @override |
| String toString() => 'W3C'; |
| } |
| |
| class W3cLogsHandler extends LogsHandler { |
| @override |
| WebDriverRequest buildGetLogsRequest(String logType) => |
| WebDriverRequest.postRequest('log', {'type': logType}); |
| |
| @override |
| List<LogEntry> parseGetLogsResponse(WebDriverResponse response) => |
| parseW3cResponse(response) |
| .map<LogEntry>((e) => LogEntry.fromMap(e)) |
| .toList(); |
| } |