Update timeouts to 2 minutes. (#162)

* Refactor command_processor to be defined at driver creation time. Allows separate command processors for different specs.

* Updates timeouts to 2 minutes.
diff --git a/test/async_alert_test.dart b/test/async_alert_test.dart
index f40d875..19fdad4 100644
--- a/test/async_alert_test.dart
+++ b/test/async_alert_test.dart
@@ -72,5 +72,5 @@
       await alert.accept();
       expect(await output.text, endsWith('some keys'));
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_keyboard_test.dart b/test/async_keyboard_test.dart
index bd73372..d230007 100644
--- a/test/async_keyboard_test.dart
+++ b/test/async_keyboard_test.dart
@@ -74,5 +74,5 @@
       await driver.keyboard.sendKeys('xxx');
       expect(await textInput.attributes['value'], 'xxx');
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_logs_test.dart b/test/async_logs_test.dart
index 625962b..2e0c984 100644
--- a/test/async_logs_test.dart
+++ b/test/async_logs_test.dart
@@ -48,5 +48,5 @@
         expect(entry.level, equals(LogLevel.info));
       });
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_mouse_test.dart b/test/async_mouse_test.dart
index 70f8675..1e29797 100644
--- a/test/async_mouse_test.dart
+++ b/test/async_mouse_test.dart
@@ -76,5 +76,5 @@
       var alert = await driver.switchTo.alert;
       await alert.dismiss();
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_navigation_test.dart b/test/async_navigation_test.dart
index edea6a3..1d0110e 100644
--- a/test/async_navigation_test.dart
+++ b/test/async_navigation_test.dart
@@ -49,5 +49,5 @@
         return 'expected StaleElementReferenceException';
       });
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_options_test.dart b/test/async_options_test.dart
index 7c9b3a3..41c4db8 100644
--- a/test/async_options_test.dart
+++ b/test/async_options_test.dart
@@ -105,5 +105,5 @@
       await driver.timeouts.setImplicitTimeout(new Duration(seconds: 1));
       await driver.timeouts.setPageLoadTimeout(new Duration(seconds: 10));
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_target_locator_test.dart b/test/async_target_locator_test.dart
index c59a223..2214423 100644
--- a/test/async_target_locator_test.dart
+++ b/test/async_target_locator_test.dart
@@ -62,5 +62,5 @@
       await driver.switchTo.frame();
       await driver.findElement(const By.tagName('button'));
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_web_driver_test.dart b/test/async_web_driver_test.dart
index c79a1fa..aaeff1a 100644
--- a/test/async_web_driver_test.dart
+++ b/test/async_web_driver_test.dart
@@ -214,5 +214,5 @@
         }
       });
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_web_element_test.dart b/test/async_web_element_test.dart
index 7a9ec6b..7405aa9 100644
--- a/test/async_web_element_test.dart
+++ b/test/async_web_element_test.dart
@@ -188,5 +188,5 @@
       var element = await driver.findElement(const By.cssSelector('table'));
       expect(await element.equals(table), isTrue);
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/async_window_test.dart b/test/async_window_test.dart
index 913c440..1b0c4f8 100644
--- a/test/async_window_test.dart
+++ b/test/async_window_test.dart
@@ -71,5 +71,5 @@
       expect(size.height, greaterThan(200));
       expect(size.width, greaterThan(300));
     }, skip: 'unreliable');
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/support/async_test.dart b/test/support/async_test.dart
index a480880..2f14fe7 100644
--- a/test/support/async_test.dart
+++ b/test/support/async_test.dart
@@ -200,7 +200,7 @@
       }
       expect(exception, isNotNull);
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
 
 /// FakeClock for testing waitFor functionality.
diff --git a/test/support/firefox_profile_test.dart b/test/support/firefox_profile_test.dart
index a6a1232..9054130 100644
--- a/test/support/firefox_profile_test.dart
+++ b/test/support/firefox_profile_test.dart
@@ -169,7 +169,7 @@
           anyElement((PrefsOption o) =>
               o.name == Capabilities.hasNativeEvents && o.value == true));
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
 
 Archive unpackArchiveData(Map profileData) {
diff --git a/test/support/forwarder_test.dart b/test/support/forwarder_test.dart
index 5a84178..10703e9 100644
--- a/test/support/forwarder_test.dart
+++ b/test/support/forwarder_test.dart
@@ -152,5 +152,5 @@
     test('window close', () async {
       await forwardedDriver.close();
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/alert.dart b/test/sync/alert.dart
index a07e3bb..64da277 100644
--- a/test/sync/alert.dart
+++ b/test/sync/alert.dart
@@ -75,5 +75,5 @@
       alert.accept();
       expect(output.text, endsWith('some keys'));
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/basic_sync.dart b/test/sync/basic_sync.dart
index 2baa122..59e743c 100644
--- a/test/sync/basic_sync.dart
+++ b/test/sync/basic_sync.dart
@@ -45,5 +45,5 @@
     test('can do basic delete', () {
       driver.cookies.deleteAll(); // This is a DELETE request.
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/command_event.dart b/test/sync/command_event.dart
index 2f7613a..28cba9b 100644
--- a/test/sync/command_event.dart
+++ b/test/sync/command_event.dart
@@ -61,5 +61,5 @@
       expect(events[1].startTime.isBefore(events[1].endTime), isTrue);
       expect(events[1].stackTrace, new isInstanceOf<Chain>());
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/cookies.dart b/test/sync/cookies.dart
index e9d5b0e..271b694 100644
--- a/test/sync/cookies.dart
+++ b/test/sync/cookies.dart
@@ -83,5 +83,5 @@
       driver.cookies.deleteAll();
       expect(driver.cookies.all.toList(), isEmpty);
     }, skip: 'unreliable');
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/keyboard.dart b/test/sync/keyboard.dart
index ae57c5a..0f44d70 100644
--- a/test/sync/keyboard.dart
+++ b/test/sync/keyboard.dart
@@ -73,5 +73,5 @@
       driver.keyboard.sendKeys('xxx');
       expect(textInput.attributes['value'], 'xxx');
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/logs.dart b/test/sync/logs.dart
index a7a37e4..5a2507e 100644
--- a/test/sync/logs.dart
+++ b/test/sync/logs.dart
@@ -47,5 +47,5 @@
         expect(entry.level, equals(LogLevel.info));
       });
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/mouse.dart b/test/sync/mouse.dart
index ead10b7..380b153 100644
--- a/test/sync/mouse.dart
+++ b/test/sync/mouse.dart
@@ -76,5 +76,5 @@
       var alert = driver.switchTo.alert;
       alert.dismiss();
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/navigation.dart b/test/sync/navigation.dart
index 1d71b66..ce0741c 100644
--- a/test/sync/navigation.dart
+++ b/test/sync/navigation.dart
@@ -46,5 +46,5 @@
       }
       return 'expected StaleElementReferenceException';
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/target_locator.dart b/test/sync/target_locator.dart
index 65e36b4..1f7b3c6 100644
--- a/test/sync/target_locator.dart
+++ b/test/sync/target_locator.dart
@@ -62,5 +62,5 @@
       driver.switchTo.frame();
       driver.findElement(const By.tagName('button'));
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/timeouts.dart b/test/sync/timeouts.dart
index 95c5ce4..c8323c1 100644
--- a/test/sync/timeouts.dart
+++ b/test/sync/timeouts.dart
@@ -41,5 +41,5 @@
       driver.timeouts.setImplicitTimeout(new Duration(seconds: 1));
       driver.timeouts.setPageLoadTimeout(new Duration(seconds: 10));
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/web_driver.dart b/test/sync/web_driver.dart
index 4c244b4..7707d86 100644
--- a/test/sync/web_driver.dart
+++ b/test/sync/web_driver.dart
@@ -195,5 +195,5 @@
         }
       });
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/web_element.dart b/test/sync/web_element.dart
index 0e78dab..5b7899f 100644
--- a/test/sync/web_element.dart
+++ b/test/sync/web_element.dart
@@ -185,5 +185,5 @@
       var element = driver.findElement(const By.cssSelector('table'));
       expect(element.equals(table), isTrue);
     });
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }
diff --git a/test/sync/window.dart b/test/sync/window.dart
index 31abfa5..790d3e2 100644
--- a/test/sync/window.dart
+++ b/test/sync/window.dart
@@ -66,5 +66,5 @@
       expect(size.height, greaterThan(200));
       expect(size.width, greaterThan(300));
     }, skip: 'unreliable');
-  }, timeout: new Timeout(new Duration(minutes: 1)));
+  }, timeout: new Timeout(new Duration(minutes: 2)));
 }