ferridriver 0.1.0

High-performance browser automation library with pluggable backends
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use super::{StepCategory, StepDef, q};

pub fn register(steps: &mut Vec<Box<dyn StepDef>>) {
  steps.push(Box::new(Evaluate));
}

step!(Evaluate {
    category: StepCategory::JavaScript,
    pattern: r"^I evaluate (.+)$",
    description: "Execute JavaScript and return the result",
    example: "When I evaluate \"document.title\"",
    execute(page, caps, _table, _vars) {
        let expr = q(&caps[1]);
        let result = page.evaluate(expr.as_str()).await?;
        Ok(result)
    }
});