13 releases

0.3.0 Jun 7, 2023
0.2.8 Jan 24, 2023
0.2.7 Jun 13, 2022
0.2.6 Feb 21, 2022
0.2.3 Oct 26, 2021

#366 in Testing

MIT license

17KB
155 lines

deadpool-fantoccini

CI crates.io Documentation dependency status MIT

deadpool is a dead simple async pool for connections and objects of any type.

This crate implements a deadpool manager for fantoccini.

Example

use deadpool_fantoccini::{Manager, Pool, PoolShutdown};
use fantoccini::{ClientBuilder, Locator};

#[tokio::main]
async fn main() {
    let manager = Manager::new("http://localhost:4444", ClientBuilder::native());
    let pool = Pool::builder(manager).max_size(5).build().unwrap();

    let mut client = pool.get().await.unwrap();
    client.goto("http://example.org/").await.unwrap();
    let title = client
        .find(Locator::Css("h1"))
        .await
        .unwrap()
        .text()
        .await
        .unwrap();
    assert_eq!(title, "Example Domain");
    drop(client);

    // cleanly closes all sessions (all sessions have to be returned to the pool beforehand.)
    pool.shutdown().await.unwrap();
}

License

Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)

Dependencies

~8–22MB
~355K SLoC