Skip to content

Commit 04f2e58

Browse files
committed
Add test for multiple chrome launches
1 parent ae302be commit 04f2e58

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

tests/webdriver_client_integration.rs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ use log::LogLevelFilter;
1212
use std::env;
1313
use std::io::Read;
1414
use std::path::PathBuf;
15-
use std::sync::{Once, ONCE_INIT};
15+
use std::sync::{Arc, Once, ONCE_INIT};
1616
use std::thread::sleep;
1717
use std::time::Duration;
1818
use webdriver_client::{Driver, DriverSession, HttpDriverBuilder, LocationStrategy};
19+
use webdriver_client::chrome::ChromeDriver;
1920
use webdriver_client::firefox::GeckoDriver;
2021
use webdriver_client::messages::ExecuteCmd;
2122

@@ -335,6 +336,24 @@ fn test_http_driver() {
335336
assert_eq!(url, test_url);
336337
}
337338

339+
#[test]
340+
fn launch_multiple_chromes() {
341+
ensure_logging_init();
342+
343+
let server = FileServer::new();
344+
let chromedriver = Arc::new(ChromeDriver::build().spawn().unwrap());
345+
let chrome1 = chromedriver.clone().session().expect("Error starting first browser");
346+
let chrome2 = chromedriver.session().expect("Error starting second browser");
347+
348+
let page1 = server.url("/page1.html");
349+
let page2 = server.url("/page2.html");
350+
chrome1.go(&page1).expect("Error getting page1");
351+
chrome2.go(&page2).expect("Error getting page2");
352+
353+
assert_eq!(&chrome1.get_current_url().expect("Error getting url 1"), &page1);
354+
assert_eq!(&chrome2.get_current_url().expect("Error getting url 2"), &page2);
355+
}
356+
338357
fn ensure_logging_init() {
339358
static DONE: Once = ONCE_INIT;
340359
DONE.call_once(|| init_logging());

0 commit comments

Comments
 (0)