diff --git a/driver-web/pom.xml b/driver-web/pom.xml
deleted file mode 100644
index 09f34f98b..000000000
--- a/driver-web/pom.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
- 4.0.0
-
- driver-web
- jar
-
-
- mvn-defaults
- io.nosqlbench
- 4.17.5-SNAPSHOT
- ../mvn-defaults
-
-
- ${project.artifactId}
-
- A nosqlbench driver module;
- Provides the ability to drive steps through the webdriver API.
-
-
-
-
-
- io.nosqlbench
- engine-api
- 4.17.5-SNAPSHOT
-
-
-
- io.nosqlbench
- drivers-api
- 4.17.5-SNAPSHOT
-
-
-
- org.seleniumhq.selenium
- htmlunit-driver
- 2.39.0
-
-
-
- org.seleniumhq.selenium
- selenium-api
- 3.141.59
-
-
-
- org.seleniumhq.selenium
- selenium-remote-driver
- 3.141.59
-
-
-
- org.seleniumhq.selenium
- selenium-java
- 3.141.59
-
-
-
- org.seleniumhq.selenium
- selenium-chrome-driver
- 3.141.59
-
-
-
- org.seleniumhq.selenium
- selenium-htmlunit-driver
- 2.52.0
-
-
-
- org.apache.httpcomponents
- httpclient
- 4.5.13
-
-
-
-
-
-
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebContext.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebContext.java
deleted file mode 100644
index c67e084f8..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebContext.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package io.nosqlbench.driver.webdriver;
-
-import org.openqa.selenium.*;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-
-public class WebContext {
- private final static Logger logger = LogManager.getLogger(WebContext.class);
-
- private final WebDriver rootwindow;
- WebDriver focus;
-
- LinkedList elements = new LinkedList<>();
- private final LinkedList cookies = new LinkedList<>();
- private final HashMap vars = new HashMap<>();
- private Alert alert;
-
- public WebContext(WebDriver initial) {
- this.focus = initial;
- this.rootwindow = initial;
- }
-
- public void pushElement(WebElement element) {
- elements.push(element);
- }
-
- public WebElement peekElement() {
- return elements.peek();
- }
-
- public LinkedList getCookies() {
- return cookies;
- }
-
- public LinkedList getElements() {
- return elements;
- }
-
- public void setElements(List elements) {
- this.elements.clear();
- this.elements.addAll(elements);
- }
-
- public void pushCookie(Cookie cookie) {
- this.cookies.push(cookie);
- }
-
- public void setCookies(Collection cookies) {
- this.cookies.clear();
- this.cookies.addAll(cookies);
-
- }
-
- public void setAlert(Alert alert) {
- this.alert = alert;
- }
-
- public Alert getAlert() {
- return alert;
- }
-
- public WebDriver driver() {
- return focus;
- }
-
- public void setFocus(WebDriver driver) {
- this.focus =driver;
- }
-
- public void clearAlert() {
- this.alert=null;
- }
-
- public void setVar(String key, Object value) {
- this.vars.put(key,value);
- logger.debug("context vars: '" + key + "'='" + value.toString() + "'");
- }
-
- public T getVar(String name, Class extends T> type) {
- Object o = this.vars.get(name);
- if (o==null) { return null; }
-
- if (type.isAssignableFrom(o.getClass())) {
- return type.cast(o);
- }
- throw new RuntimeException("Could not cast named var '" + name + "' to a " + type.getCanonicalName());
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverAction.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverAction.java
deleted file mode 100644
index 72c04fd79..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package io.nosqlbench.driver.webdriver;
-
-import io.nosqlbench.driver.webdriver.verbs.WebDriverVerbs;
-import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver;
-import io.nosqlbench.engine.api.activityapi.core.SyncAction;
-import io.nosqlbench.engine.api.activityimpl.ActivityDef;
-import io.nosqlbench.engine.api.templating.CommandTemplate;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-/**
- * Holds the definition and tracking state for a web driver command.
- */
-public class WebDriverAction implements SyncAction, ActivityDefObserver {
- private final static Logger logger = LogManager.getLogger(WebDriverAction.class);
-
- private final WebDriverActivity activity;
- private final int slot;
- // warn or count, or stop
- private String errors;
- private boolean dryrun;
- private WebContext context;
-
- public WebDriverAction(WebDriverActivity activity, int slot) {
- super();
- this.activity = activity;
- this.slot = slot;
- }
-
- @Override
- public void init() {
- onActivityDefUpdate(activity.getActivityDef());
- }
-
- @Override
- public void onActivityDefUpdate(ActivityDef activityDef) {
- this.errors = activityDef.getParams().getOptionalString("errors").orElse("stop");
- this.dryrun = activityDef.getParams().getOptionalBoolean("dryrun").orElse(false);
- this.context = activity.getWebContext(slot);
- }
-
- // TODO: resolve inner templates early, perhaps optionally
- // As it is right now, all commands are resolved dynamically, which is still not going to be the limiting
- // factor.
- @Override
- public int runCycle(long cycle) {
-
- CommandTemplate commandTemplate = activity.getOpSequence().apply(cycle);
- try {
- WebDriverVerbs.execute(cycle, commandTemplate, context, dryrun);
- return 0;
-
- } catch (Exception e) {
- logger.error("Error with cycle(" + cycle + "), statement(" + commandTemplate.getName() + "): " + e.getMessage());
- if (errors.equals("stop")) {
- throw e;
- }
- return 1;
- }
-
- }
-
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivity.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivity.java
deleted file mode 100644
index bbcd558d4..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivity.java
+++ /dev/null
@@ -1,229 +0,0 @@
-package io.nosqlbench.driver.webdriver;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import io.nosqlbench.driver.webdriver.side.Command;
-import io.nosqlbench.driver.webdriver.side.SideConfig;
-import io.nosqlbench.driver.webdriver.side.Test;
-import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
-import io.nosqlbench.engine.api.activityapi.planning.SequencePlanner;
-import io.nosqlbench.engine.api.activityapi.planning.SequencerType;
-import io.nosqlbench.engine.api.activityconfig.StatementsLoader;
-import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate;
-import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList;
-import io.nosqlbench.engine.api.activityimpl.ActivityDef;
-import io.nosqlbench.engine.api.activityimpl.SimpleActivity;
-import io.nosqlbench.engine.api.templating.CommandTemplate;
-import io.nosqlbench.engine.api.templating.StrInterpolator;
-import io.nosqlbench.nb.api.content.NBIO;
-import io.nosqlbench.nb.api.errors.BasicError;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.chrome.ChromeDriver;
-import org.openqa.selenium.chrome.ChromeOptions;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.concurrent.ConcurrentHashMap;
-
-public class WebDriverActivity extends SimpleActivity {
-
- private final static Logger logger = LogManager.getLogger(WebDriverActivity.class);
-
- // private final StmtsDocList stmtsDocList;
- private OpSequence opSequence;
-
- private final ConcurrentHashMap contexts = new ConcurrentHashMap<>();
-// private static ThreadLocal TL_WebContext = new ThreadLocal<>();
-
- public WebDriverActivity(ActivityDef activityDef) {
- super(activityDef);
- }
-
- @Override
- public void initActivity() {
- super.initActivity();
- this.opSequence = initOpSequence();
- onActivityDefUpdate(activityDef);
- setDefaultsFromOpSequence(opSequence);
- int threads = getActivityDef().getThreads();
- logger.info("pre-initializing web browsers");
- for (int i = 0; i < threads; i++) {
- getWebContext(i);
- }
- }
-
- private OpSequence initOpSequence() {
- OpSequence sequence;
-
- String yaml_loc = getParams().getOptionalString("yaml","workload").orElse(null);
- String side_loc = getParams().getOptionalString("side").orElse(null);
-
- if (yaml_loc == null && side_loc == null) {
- throw new BasicError("You must provide yaml= or side=, but neither was found");
- }
- if (yaml_loc != null && side_loc != null) {
- throw new BasicError("You must provide either yaml= or side=, but not both.");
- }
- if (yaml_loc != null) {
- sequence=initOpSequenceFromYaml();
- } else {
- sequence=initOpSequenceFromSide();
- }
-
- if (sequence.getSequence().length==0) {
- logger.warn("The sequence contains zero operations.");
- }
- return sequence;
-
- }
-
- private OpSequence initOpSequenceFromSide() {
-
- Optional sideFile = activityDef.getParams().getOptionalString("side");
- String sideToImport = sideFile.get();
- String side = NBIO.all().name(sideToImport).extension("side").one().asString();
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- SideConfig sc = gson.fromJson(side, SideConfig.class);
- String sideName = sc.getName();
- String sideUrl = sc.getUrl();
-
- LinkedHashMap commands = new LinkedHashMap<>();
- for (Test test : sc.getTests()) {
- int idx=0;
- StringBuilder testBuilder = new StringBuilder();
- for (Command command : test.getCommands()) {
- StringBuilder cmdBuilder = new StringBuilder();
- String cmd = command.getCommand();
- cmdBuilder.append(cmd);
- if (command.getCommand().equals("open")) {
- cmdBuilder.append(" url='").append(sideUrl.replaceAll("'","\\\\'")).append("'");
- }
-
- if (command.getTarget() != null && !command.getTarget().isEmpty()) {
- String tg=null;
- if (command.getTargets().size()>0) {
- for (int i = 0; i < command.getTargets().size(); i++) {
- List strings = command.getTargets().get(i);
- if (strings.get(1).equals("xpath:idRelative")) {
- logger.debug("favoring xpath form of selector:" + strings.get(0));
- tg=strings.get(0);
- }
- }
- }
- if (tg==null) {
- tg = command.getTarget();
- }
- cmdBuilder.append(" target='").append(tg.replaceAll("'","\\\\'")).append("'");
-
- }
- if (command.getValue() != null && !command.getValue().isEmpty()) {
- cmdBuilder.append(" value='").append(command.getValue().replaceAll("'","\\\\'")).append("'");
- }
- cmdBuilder.append("\n");
- logger.debug("build cmd: '" + testBuilder + "'");
- String cmdName = sideName+"_"+String.format("%s_%03d", sideName, ++idx);
- commands.put(cmdName,cmdBuilder.toString());
- }
- }
-
- String export = activityDef.getParams().getOptionalString("export").orElse(null);
- if (export!=null) {
- Path exportTo = Path.of(export);
- if (Files.exists(exportTo)) {
- throw new BasicError("File exists: " + exportTo + ", remove it first.");
- }
- try {
- StringBuilder stmts = new StringBuilder();
- stmts.append("statements:\n");
- commands.forEach((name, cmd)-> {
- System.out.println("name: " + name);
- System.out.println("cmd: " + cmd);
- stmts.append(" - ").append(name).append(": ").append(cmd);
- });
- Files.writeString(exportTo,stmts.toString());
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- logger.info("completed importing from " + sideFile + " to " + exportTo);
- System.exit(0);
- }
-
- SequencerType sequencerType = getParams()
- .getOptionalString("seq")
- .map(SequencerType::valueOf)
- .orElse(SequencerType.bucket);
- SequencePlanner planner = new SequencePlanner<>(sequencerType);
- commands.forEach((name,cmd) -> {
- CommandTemplate commandTemplate = new CommandTemplate(name, cmd, Map.of(), Map.of(),List.of());
- planner.addOp(commandTemplate,(c) -> 1L);
- });
- OpSequence sequence = planner.resolve();
- return sequence;
- }
-
- private OpSequence initOpSequenceFromYaml() {
- StrInterpolator interp = new StrInterpolator(activityDef);
- String yaml_loc = activityDef.getParams().getOptionalString("yaml", "workload").orElse("default");
- StmtsDocList stmtsDocList = StatementsLoader.loadPath(logger, yaml_loc, interp, "activities");
-
- SequencerType sequencerType = getParams()
- .getOptionalString("seq")
- .map(SequencerType::valueOf)
- .orElse(SequencerType.bucket);
- SequencePlanner planner = new SequencePlanner<>(sequencerType);
-
- String tagfilter = activityDef.getParams().getOptionalString("tags").orElse("");
- List stmts = stmtsDocList.getStmts(tagfilter);
-
- if (stmts.size() == 0) {
- throw new BasicError("There were no active statements with tag filter '" + tagfilter + "'");
- }
-
- for (OpTemplate optpl : stmts) {
- long ratio = optpl.getParamOrDefault("ratio", 1);
- CommandTemplate cmd = new CommandTemplate(optpl);
- planner.addOp(cmd, ratio);
- }
- return planner.resolve();
- }
-
- public OpSequence getOpSequence() {
- return opSequence;
- }
-
-
- public synchronized WebContext getWebContext(int slot) {
- try {
- WebContext context = contexts.get(slot);
- if (context == null) {
- logger.info("initializing chromedriver for thread " + slot);
- System.setProperty("webdriver.http.factory", "okhttp");
- ChromeOptions chromeOptions = new ChromeOptions();
- chromeOptions.setHeadless(activityDef.getParams().getOptionalBoolean("headless").orElse(false));
- WebDriver webdriver = new ChromeDriver(chromeOptions);
- context = new WebContext(webdriver);
- contexts.put(slot, context);
- } else {
- logger.info("using cached chromedriver for thread " + slot);
- }
- return context;
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public void shutdownActivity() {
- contexts.forEach((s, d) -> {
- logger.debug("closing driver for thread " + s);
- d.driver().close();
- });
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivityType.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivityType.java
deleted file mode 100644
index 1390e8ec0..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverActivityType.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package io.nosqlbench.driver.webdriver;
-
-import io.nosqlbench.engine.api.activityapi.core.Action;
-import io.nosqlbench.engine.api.activityapi.core.ActionDispenser;
-import io.nosqlbench.engine.api.activityapi.core.Activity;
-import io.nosqlbench.engine.api.activityapi.core.ActivityType;
-import io.nosqlbench.engine.api.activityimpl.ActivityDef;
-import io.nosqlbench.nb.annotations.Service;
-
-@Service(value= ActivityType.class, selector="webdriver")
-public class WebDriverActivityType implements ActivityType {
-
- @Override
- public WebDriverActivity getActivity(ActivityDef activityDef) {
- return new WebDriverActivity(activityDef);
- }
-
- @Override
- public ActionDispenser getActionDispenser(WebDriverActivity activity) {
- return new WebDriverActionDispenser(activity);
- }
-
- private static class WebDriverActionDispenser implements ActionDispenser {
-
- private final Activity activity;
-
- private WebDriverActionDispenser(Activity activity) {
- this.activity = activity;
- }
-
- @Override
- public Action getAction(int slot) {
- return new WebDriverAction((WebDriverActivity) activity, slot);
- }
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverCmdState.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverCmdState.java
deleted file mode 100644
index 40259aae3..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/WebDriverCmdState.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.nosqlbench.driver.webdriver;
-
-public class WebDriverCmdState {
-
- private final WebDriverAction action;
- private final long cycle;
-
- public WebDriverCmdState(WebDriverAction action, long cycle) {
-
- this.action = action;
- this.cycle = cycle;
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/Command.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/Command.java
deleted file mode 100644
index 627959d90..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/Command.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package io.nosqlbench.driver.webdriver.side;
-
-import java.util.List;
-
-public class Command {
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getComment() {
- return comment;
- }
-
- public void setComment(String comment) {
- this.comment = comment;
- }
-
- public String getCommand() {
- return command;
- }
-
- public void setCommand(String command) {
- this.command = command;
- }
-
- public String getTarget() {
- return target;
- }
-
- public void setTarget(String target) {
- this.target = target;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
- public List> getTargets() {
- return targets;
- }
-
- public void setTargets(List> targets) {
- this.targets = targets;
- }
-
- String id;
- String comment;
- String command;
- String target;
- String value;
- List> targets;
-
- @Override
- public String toString() {
- return "Command{" +
- "id='" + id + '\'' +
- ", comment='" + comment + '\'' +
- ", command='" + command + '\'' +
- ", target='" + target + '\'' +
- ", value='" + value + '\'' +
- ", targets=" + targets +
- '}';
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/SideConfig.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/SideConfig.java
deleted file mode 100644
index 59b2e9273..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/SideConfig.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package io.nosqlbench.driver.webdriver.side;
-
-import java.util.List;
-
-public class SideConfig {
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getVersion() {
- return version;
- }
-
- public void setVersion(String version) {
- this.version = version;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public List getTests() {
- return tests;
- }
-
- public void setTests(List tests) {
- this.tests = tests;
- }
-
- String id;
- String name;
- String version;
- String url;
- List tests;
-
- @Override
- public String toString() {
- return "SideConfig{" +
- "id='" + id + '\'' +
- ", name='" + name + '\'' +
- ", version='" + version + '\'' +
- ", url='" + url + '\'' +
- ", tests=" + tests +
- '}';
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/Test.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/Test.java
deleted file mode 100644
index 32e1c04cb..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/side/Test.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package io.nosqlbench.driver.webdriver.side;
-
-import java.util.List;
-
-public class Test {
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public List getCommands() {
- return commands;
- }
-
- public void setCommands(List commands) {
- this.commands = commands;
- }
-
- String id;
- String name;
- List commands;
-
- @Override
- public String toString() {
- return "Test{" +
- "id='" + id + '\'' +
- ", name='" + name + '\'' +
- ", commands=" + commands +
- '}';
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AcceptAlert.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AcceptAlert.java
deleted file mode 100644
index 23818d406..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AcceptAlert.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Alert;
-
-import java.security.InvalidParameterException;
-
-public class AcceptAlert implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- Alert alert = context.getAlert();
- if (alert==null) {
- alert = context.driver().switchTo().alert();
- }
- if (alert==null) {
- throw new InvalidParameterException("Alert is not present");
- }
- alert.accept();
- context.clearAlert();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AddCookie.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AddCookie.java
deleted file mode 100644
index e6ee7a074..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AddCookie.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Cookie;
-
-public class AddCookie implements WebDriverVerb {
-
- private final Cookie cookie;
-
- public AddCookie(Cookie cookie) {
- this.cookie = cookie;
- }
-
- @Override
- public void execute(WebContext context) {
- context.driver().manage().addCookie(this.cookie);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AssertElement.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AssertElement.java
deleted file mode 100644
index c0daf5b09..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/AssertElement.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-
-public class AssertElement implements WebDriverVerb {
- private final static Logger logger = LogManager.getLogger(AssertElement.class);
- private final By by;
-
- public AssertElement(By by) {
- this.by = by;
- }
-
- @Override
- public void execute(WebContext context) {
- WebElement element = context.driver().findElement(by);
- context.pushElement(element);
- }
-
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Bys.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Bys.java
deleted file mode 100644
index 5845be801..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Bys.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import org.openqa.selenium.By;
-
-import java.util.function.Function;
-
-public enum Bys {
- id(By::id),
- linkText(By::linkText),
- name(By::name),
- css(By::cssSelector),
- xpath(By::xpath),
- classname(By::className);
-
- private Function initializer;
-
- Bys(Function initializer) {
- this.initializer = initializer;
- }
-
- public static By get(String by) {
- Bys bys =classname;
- String[] parts = by.split("=", 2);
- if (parts.length==2) {
- bys= Bys.valueOf(parts[0]);
- by = parts[1];
- }
- return bys.initializer.apply(by);
- }
-
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClearElement.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClearElement.java
deleted file mode 100644
index 78f0ec468..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClearElement.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class ClearElement implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- context.peekElement().clear();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClearElementBy.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClearElementBy.java
deleted file mode 100644
index 6df9bc09e..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClearElementBy.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.By;
-
-public class ClearElementBy implements WebDriverVerb {
- private final By by;
-
- public ClearElementBy(By by) {
- this.by = by;
- }
-
- @Override
- public void execute(WebContext context) {
- context.peekElement().findElement(by).clear();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClickElementBy.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClickElementBy.java
deleted file mode 100644
index b51c87057..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ClickElementBy.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.By;
-
-public class ClickElementBy implements WebDriverVerb {
-
- private final By by;
-
- public ClickElementBy(By by){
- this.by = by;
- }
-
- @Override
- public void execute(WebContext context) {
- context.driver().findElement(by).click();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/CookieJar.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/CookieJar.java
deleted file mode 100644
index c8533514d..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/CookieJar.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import org.openqa.selenium.Cookie;
-
-import java.sql.Date;
-import java.util.Map;
-import java.util.Optional;
-
-public class CookieJar {
- public static Cookie cookie(Map props) {
- String name = props.get("name");
- String value = props.getOrDefault("value","");
- Cookie.Builder builder = new Cookie.Builder(name, value);
- Optional.ofNullable(props.get("domain")).ifPresent(builder::domain);
- Optional.ofNullable(props.get("expiry")).map(Date::valueOf).ifPresent(builder::expiresOn);
- Optional.ofNullable(props.get("ishttponly")).map(Boolean::valueOf).ifPresent(builder::isHttpOnly);
- Optional.ofNullable(props.get("issecure")).map(Boolean::valueOf).ifPresent(builder::isSecure);
- Optional.ofNullable(props.get("path")).ifPresent(builder::path);
- return builder.build();
- }
-
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteAllCookies.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteAllCookies.java
deleted file mode 100644
index f479c93d2..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteAllCookies.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class DeleteAllCookies implements WebDriverVerb {
-
- @Override
- public void execute(WebContext context) {
- context.driver().manage().deleteAllCookies();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteCookie.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteCookie.java
deleted file mode 100644
index 467dd95ea..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteCookie.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Cookie;
-
-public class DeleteCookie implements WebDriverVerb {
-
- private final Cookie cookie;
-
- public DeleteCookie(Cookie cookie) {
- this.cookie = cookie;
- }
-
- @Override
- public void execute(WebContext context) {
- context.driver().manage().deleteCookie(cookie);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteCookieNamed.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteCookieNamed.java
deleted file mode 100644
index 5df20d332..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DeleteCookieNamed.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class DeleteCookieNamed implements WebDriverVerb {
-
- private final String cookieName;
-
- public DeleteCookieNamed(String cookieName) {
- this.cookieName = cookieName;
- }
-
- @Override
- public void execute(WebContext context) {
- context.driver().manage().deleteCookieNamed(cookieName);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DismissAlert.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DismissAlert.java
deleted file mode 100644
index b9e5008cf..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/DismissAlert.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Alert;
-
-import java.security.InvalidParameterException;
-
-public class DismissAlert implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- Alert alert = context.getAlert();
- if (alert==null) {
- alert = context.driver().switchTo().alert();
- }
- if (alert==null) {
- throw new InvalidParameterException("Alert is not present");
- }
- alert.dismiss();
- context.clearAlert();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementScreenShot.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementScreenShot.java
deleted file mode 100644
index 09f2d1f7a..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementScreenShot.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.OutputType;
-
-public class ElementScreenShot implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- String screenshotAs = context.peekElement().getScreenshotAs(OutputType.BASE64);
- // This needs more work
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementSendKeys.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementSendKeys.java
deleted file mode 100644
index 2efc18d5c..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementSendKeys.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class ElementSendKeys implements WebDriverVerb {
- private final CharSequence keys;
-
- public ElementSendKeys(CharSequence keys) {
- this.keys = keys;
- }
-
- @Override
- public void execute(WebContext context) {
- context.peekElement().sendKeys(keys);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementSubmit.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementSubmit.java
deleted file mode 100644
index 286222993..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/ElementSubmit.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class ElementSubmit implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- context.peekElement().submit();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElement.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElement.java
deleted file mode 100644
index 0991cad67..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElement.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.openqa.selenium.By;
-import org.openqa.selenium.NoSuchElementException;
-import org.openqa.selenium.WebElement;
-
-public class FindElement implements WebDriverVerb {
- private final static Logger logger = LogManager.getLogger(FindElement.class);
-
- private final By by;
-
- public FindElement(String by) {
- this.by = Bys.get(by);
- }
-
- @Override
- public void execute(WebContext context) {
- try {
- WebElement element = context.driver().findElement(by);
- context.pushElement(element);
- } catch (NoSuchElementException nsee) {
- context.pushElement(null);
- }
- }
-
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElementInElementBy.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElementInElementBy.java
deleted file mode 100644
index 1e60aa833..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElementInElementBy.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-
-public class FindElementInElementBy implements WebDriverVerb {
- private final By by;
-
- public FindElementInElementBy(By by) {
- this.by = by;
- }
-
- @Override
- public void execute(WebContext context) {
- WebElement element = context.peekElement().findElement(by);
- context.pushElement(element);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElements.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElements.java
deleted file mode 100644
index 8c2015b05..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElements.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.openqa.selenium.By;
-import org.openqa.selenium.NoSuchElementException;
-import org.openqa.selenium.WebElement;
-
-import java.util.List;
-
-public class FindElements implements WebDriverVerb {
- private final static Logger logger = LogManager.getLogger(FindElements.class);
-
- private final By by;
-
- public FindElements(String by) {
- this.by = Bys.get(by);
- }
-
- @Override
- public void execute(WebContext context) {
- try {
- List elements = context.driver().findElements(by);
- context.setElements(elements);
- } catch (NoSuchElementException nsee) {
- context.pushElement(null);
- }
- }
-
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElementsInElementBy.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElementsInElementBy.java
deleted file mode 100644
index c8cee2780..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FindElementsInElementBy.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-
-import java.util.List;
-
-public class FindElementsInElementBy implements WebDriverVerb {
-
- private final By by;
-
- public FindElementsInElementBy(By by) {
- this.by = by;
- }
-
- @Override
- public void execute(WebContext context) {
- List elements = context.peekElement().findElements(by);
- context.setElements(elements);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FullScreen.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FullScreen.java
deleted file mode 100644
index 0fdf0f285..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/FullScreen.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class FullScreen implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- context.driver().manage().window().fullscreen();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Get.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Get.java
deleted file mode 100644
index b5c958d26..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Get.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-
-public class Get implements WebDriverVerb {
- private final static Logger logger = LogManager.getLogger(Get.class);
-
- private final String target;
-
- public Get(String target) {
- this.target = target;
- }
-
- @Override
- public void execute(WebContext context) {
- context.driver().get(target);
- }
-
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetCookieNamed.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetCookieNamed.java
deleted file mode 100644
index e680149ed..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetCookieNamed.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Cookie;
-
-public class GetCookieNamed implements WebDriverVerb {
- private final String cookieName;
-
- public GetCookieNamed(String cookieName) {
- this.cookieName = cookieName;
- }
-
- @Override
- public void execute(WebContext context) {
- Cookie cookie = context.driver().manage().getCookieNamed(cookieName);
- context.pushCookie(cookie);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetCookies.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetCookies.java
deleted file mode 100644
index 4509849d6..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetCookies.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Cookie;
-
-import java.util.Set;
-
-public class GetCookies implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- Set cookies = context.driver().manage().getCookies();
- context.setCookies(cookies);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementAttribute.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementAttribute.java
deleted file mode 100644
index 04419f28d..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementAttribute.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class GetElementAttribute implements WebDriverVerb {
- private final String name;
-
- public GetElementAttribute(String name) {
- this.name = name;
- }
-
- @Override
- public void execute(WebContext context) {
- String attribute = context.peekElement().getAttribute(name);
- context.setVar("element.attribute",attribute);
- }
-
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementCssValue.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementCssValue.java
deleted file mode 100644
index 73d52fc89..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementCssValue.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-class GetElementCssValue implements WebDriverVerb {
-
- private final String propname;
- public GetElementCssValue(String propname) {
- this.propname = propname;
- }
- @Override
- public void execute(WebContext context) {
- String cssValue = context.peekElement().getCssValue(propname);
- context.setVar("element.cssvalue",cssValue);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementLocation.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementLocation.java
deleted file mode 100644
index 3120f4658..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementLocation.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Point;
-
-public class GetElementLocation implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- Point location = context.peekElement().getLocation();
- context.setVar("element.location",location);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementRect.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementRect.java
deleted file mode 100644
index 428d42cc4..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementRect.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Rectangle;
-
-public class GetElementRect implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- Rectangle rect = context.peekElement().getRect();
- context.setVar("element.rect",rect);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementSize.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementSize.java
deleted file mode 100644
index 5650d3316..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementSize.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Dimension;
-
-public class GetElementSize implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- Dimension size = context.peekElement().getSize();
- context.setVar("element.size",size);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementTagname.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementTagname.java
deleted file mode 100644
index dae8893e5..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementTagname.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class GetElementTagname implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- String tagName = context.peekElement().getTagName();
- context.setVar("element.tagname",tagName);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementText.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementText.java
deleted file mode 100644
index a055929d1..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/GetElementText.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class GetElementText implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- String text = context.peekElement().getText();
- context.setVar("element.text",text);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementDisplayed.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementDisplayed.java
deleted file mode 100644
index ff9051765..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementDisplayed.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class IsElementDisplayed implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- boolean displayed = context.peekElement().isDisplayed();
- context.setVar("element.displayed",displayed);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementEnabled.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementEnabled.java
deleted file mode 100644
index 004e5cee4..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementEnabled.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class IsElementEnabled implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- boolean enabled = context.peekElement().isEnabled();
- context.setVar("element.enabled",enabled);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementSelected.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementSelected.java
deleted file mode 100644
index 17f2d3a28..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/IsElementSelected.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class IsElementSelected implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- boolean selected = context.peekElement().isSelected();
- context.setVar("element.selected",selected);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/MouseOut.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/MouseOut.java
deleted file mode 100644
index bfb8bcd9c..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/MouseOut.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
-
-public class MouseOut implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- WebDriver driver = context.driver();
- WebElement element = driver.findElement(By.tagName("body"));
- Actions actions = new Actions(driver);
- actions.moveToElement(element, 0, 0).perform();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/MouseOver.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/MouseOver.java
deleted file mode 100644
index cd5b77db5..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/MouseOver.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
-
-public class MouseOver implements WebDriverVerb {
- private final By by;
-
- public MouseOver(By by) {
- this.by = by;
- }
-
- @Override
- public void execute(WebContext context) {
- WebDriver driver = context.driver();
- WebElement mouseOverElement = driver.findElement(by);
- Actions actions = new Actions(driver);
- actions.moveToElement(mouseOverElement);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateBack.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateBack.java
deleted file mode 100644
index ccc9b0ae3..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateBack.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class NavigateBack implements WebDriverVerb {
-
- @Override
- public void execute(WebContext context) {
- context.driver().navigate().back();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateForward.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateForward.java
deleted file mode 100644
index 199fd4973..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateForward.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class NavigateForward implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- context.driver().navigate().forward();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateRefresh.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateRefresh.java
deleted file mode 100644
index 05cea5803..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateRefresh.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class NavigateRefresh implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- context.driver().navigate().refresh();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateTo.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateTo.java
deleted file mode 100644
index 22b85e3a8..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/NavigateTo.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-public class NavigateTo implements WebDriverVerb {
-
- private final URL url;
-
- public NavigateTo(String to) {
- try {
- this.url = new URL(to);
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public void execute(WebContext context) {
- context.driver().navigate().to(url);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Open.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Open.java
deleted file mode 100644
index e63e192a2..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/Open.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-
-public class Open implements WebDriverVerb {
- private final String url;
- private final String target;
-
- public Open(String url, String target) {
- this.url = url;
- this.target = target;
- }
-
- @Override
- public void execute(WebContext context) {
- context.driver().get(url+target);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SendKeysToAlert.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SendKeysToAlert.java
deleted file mode 100644
index e624e624f..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SendKeysToAlert.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Alert;
-
-import java.security.InvalidParameterException;
-
-public class SendKeysToAlert implements WebDriverVerb {
- private final String keys;
-
- public SendKeysToAlert(String keys) {
- this.keys = keys;
- }
-
- @Override
- public void execute(WebContext context) {
- Alert alert = context.getAlert();
- if (alert==null) {
- alert = context.driver().switchTo().alert();
- }
- if (alert==null) {
- throw new InvalidParameterException("Alert is not present");
- }
- alert.sendKeys(keys);
- context.clearAlert();
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SetWindowSize.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SetWindowSize.java
deleted file mode 100644
index a02ac0c3e..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SetWindowSize.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Dimension;
-
-public class SetWindowSize implements WebDriverVerb {
- private final int width;
- private final int height;
-
- public SetWindowSize(int width, int height) {
- this.width = width;
- this.height = height;
- }
-
- public SetWindowSize(String size) {
- String[] xes = size.split("x");
- this.width = Integer.parseInt(xes[0]);
- this.height = Integer.parseInt(xes[1]);
- }
-
- @Override
- public void execute(WebContext context) {
- context.driver().manage().window().setSize(new Dimension(width, height));
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToActiveElement.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToActiveElement.java
deleted file mode 100644
index 8c663292e..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToActiveElement.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.WebElement;
-
-public class SwitchToActiveElement implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- WebElement webElement = context.driver().switchTo().activeElement();
- context.pushElement(webElement);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToAlert.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToAlert.java
deleted file mode 100644
index b4a8ba525..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToAlert.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.Alert;
-
-public class SwitchToAlert implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- Alert alert = context.driver().switchTo().alert();
- context.setAlert(alert);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToDefaultContent.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToDefaultContent.java
deleted file mode 100644
index 8a9d374a8..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToDefaultContent.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.WebDriver;
-
-public class SwitchToDefaultContent implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- WebDriver driver = context.driver().switchTo().defaultContent();
- context.setFocus(driver);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameByName.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameByName.java
deleted file mode 100644
index 461ad6b39..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameByName.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.WebDriver;
-
-public class SwitchToFrameByName implements WebDriverVerb {
- private String name;
-
- public SwitchToFrameByName(String name) {
- this.name = name;
- }
-
- @Override
- public void execute(WebContext context) {
- WebDriver frame = context.driver().switchTo().frame(this.name);
- context.setFocus(frame);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameElement.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameElement.java
deleted file mode 100644
index 887489f23..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameElement.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-
-import java.security.InvalidParameterException;
-
-public class SwitchToFrameElement implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- WebElement webElement = context.peekElement();
- if (webElement==null) {
- throw new InvalidParameterException("There was no previously found element to switch to.");
- }
- WebDriver frame = context.driver().switchTo().frame(webElement);
- context.setFocus(frame);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameElementBy.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameElementBy.java
deleted file mode 100644
index b190c4062..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameElementBy.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-
-public class SwitchToFrameElementBy implements WebDriverVerb {
-
- private final By by;
-
- public SwitchToFrameElementBy(String by) {
- this.by = Bys.get(by);
- }
-
- @Override
- public void execute(WebContext context) {
- WebElement element = context.driver().findElement(by);
- WebDriver frame = context.driver().switchTo().frame(element);
- context.setFocus(frame);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameIdx.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameIdx.java
deleted file mode 100644
index 13de8232b..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToFrameIdx.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.WebDriver;
-
-public class SwitchToFrameIdx implements WebDriverVerb {
- private final int index;
-
- public SwitchToFrameIdx(int index) {
- this.index = index;
- }
-
- @Override
- public void execute(WebContext context) {
- WebDriver frame = context.driver().switchTo().frame(index);
- context.setFocus(frame);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToParentFrame.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToParentFrame.java
deleted file mode 100644
index 360b22820..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToParentFrame.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.WebDriver;
-
-public class SwitchToParentFrame implements WebDriverVerb {
- @Override
- public void execute(WebContext context) {
- WebDriver webDriver = context.driver().switchTo().parentFrame();
- context.setFocus(webDriver);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToWindow.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToWindow.java
deleted file mode 100644
index e3d58d52a..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/SwitchToWindow.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.WebDriver;
-
-public class SwitchToWindow implements WebDriverVerb {
- private final String windowName;
-
- public SwitchToWindow(String windowName) {
- this.windowName = windowName;
- }
-
- @Override
- public void execute(WebContext context) {
- WebDriver window = context.driver().switchTo().window(this.windowName);
- context.setFocus(window);
- }
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerb.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerb.java
deleted file mode 100644
index 8907c504a..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerb.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import org.openqa.selenium.WebDriver;
-
-/**
- * All WebDriverVerb implementations are executable commands.
- */
-public interface WebDriverVerb {
- /**
- * Execute the command.
- *
- * @param context The context object allows verbs to do have state from one command to the next. It is a
- * {@link ThreadLocal} object which can be modified by any verb.
- */
- void execute(WebContext context);
-}
diff --git a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerbs.java b/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerbs.java
deleted file mode 100644
index 2d414664f..000000000
--- a/driver-web/src/main/java/io/nosqlbench/driver/webdriver/verbs/WebDriverVerbs.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package io.nosqlbench.driver.webdriver.verbs;
-
-import io.nosqlbench.driver.webdriver.WebContext;
-import io.nosqlbench.engine.api.templating.CommandTemplate;
-import io.nosqlbench.nb.api.errors.BasicError;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.security.InvalidParameterException;
-import java.util.Map;
-import java.util.Optional;
-import java.util.function.Function;
-
-/**
- * Inspiration for how to make this work consistently with the exporter logic
- * is found at
- *
- *
- * The JUnit exporter command generator
- */
-public class WebDriverVerbs {
- private final static Logger logger = LogManager.getLogger(WebDriverVerbs.class);
- public final static String COMMAND = "command";
-
- public enum Verb {
-
- open(Open.class, (m) -> new Open(m.get("url"),m.get("target"))),
- get(Get.class, (m) -> new Get(m.get("target"))),
- mouseOver(MouseOver.class, (m) -> new MouseOver(Bys.get(m.get("target")))),
- mouseOut(MouseOut.class,(m) -> new MouseOut()),
- setWindowSize(SetWindowSize.class,(m) -> new SetWindowSize(m.get("target"))),
-
-// find_element(FindElement.class, (m) -> new FindElement(m.get("by"))),
-// find_elements(FindElements.class, (m) -> new FindElements(m.get("by"))),
-//
-// // navigation
-// back(NavigateBack.class, (m) -> new NavigateBack()),
-// forward(NavigateForward.class, (m) -> new NavigateForward()),
-// refresh(NavigateRefresh.class, (m) -> new NavigateRefresh()),
-// to(NavigateTo.class, (m) -> new NavigateTo(m.get("to"))),
-//
-// // options
-// add_cookie(AddCookie.class, (m) -> new AddCookie(CookieJar.cookie(m))),
-// delete_cookie(DeleteCookie.class, (m) -> new DeleteCookie(CookieJar.cookie(m))),
-// delete_all_cookies(DeleteAllCookies.class, (m) -> new DeleteAllCookies()),
-// delete_cookie_named(DeleteCookieNamed.class, (m) -> new DeleteCookieNamed(m.get("name"))),
-// get_cookie_named(GetCookieNamed.class, (m) -> new GetCookieNamed(m.get("name"))),
-// get_cookies(GetCookies.class, (m) -> new GetCookies()),
-//
-// // TargetLocator (switchTo)
-// switchto_active_element(SwitchToActiveElement.class, (m) -> new SwitchToActiveElement()),
-// switchto_alert(SwitchToAlert.class, (m) -> new SwitchToAlert()),
-// switchto_default_content(SwitchToDefaultContent.class, (m) -> new SwitchToDefaultContent()),
-// switchto_frame_idx(SwitchToFrameIdx.class, (m) -> new SwitchToFrameIdx(Integer.parseInt(m.get("index")))),
-// switchto_frame_elem_by(SwitchToFrameElementBy.class, (m) -> new SwitchToFrameElementBy(m.get("by"))),
-// switchto_frame_elem(SwitchToFrameElement.class, (m) -> new SwitchToFrameElement()),
-// switchto_frame_name(SwitchToFrameByName.class, (m) -> new SwitchToFrameByName(m.get("name"))),
-// switchto_parent_frame(SwitchToParentFrame.class, (m) -> new SwitchToParentFrame()),
-// switchto_window(SwitchToWindow.class, (m) -> new SwitchToWindow(m.get("name"))),
-//
-// // Alert
-// dismiss_alert(DismissAlert.class, (m) -> new DismissAlert()),
-// accept_alert(AcceptAlert.class, (m) -> new AcceptAlert()),
-// send_keys_to_alert(SendKeysToAlert.class, (m) -> new SendKeysToAlert(m.get("keys"))),
-//
-// // Window
-// window_full_screen(FullScreen.class, (m) -> new FullScreen()),
-// window_get_size(WindowGetSize.class, (m) -> new WindowGetSize()),
-// setWindowSize(WindowSetSize.class, (m) -> new WindowSetSize(m.get("target"))),
-// window_maximize(WindowMaximize.class, (m) -> new WindowMaximize()),
-// window_set_position(WindowSetPosition.class, (m) -> new WindowSetPosition(m.get("x"),m.get("y"))),
-// window_get_position(WindowGetPosition.class, (m) -> new WindowGetPosition()),
-//
-// // Elements
-// click(ClickElementBy.class, (m) -> new ClickElementBy(Bys.get(m.get("target")))),
-// clearElement(ClearElement.class, (m) -> new ClearElement()),
-// clearElement_by(ClearElementBy.class, (m) -> new ClearElementBy(Bys.get(m.get("by")))),
-// element_find_element_by(FindElementInElementBy.class, (m) -> new FindElementInElementBy(Bys.get(m.get("by")))),
-// element_find_elements_by(FindElementsInElementBy.class, (m)->new FindElementsInElementBy(Bys.get(m.get("by")))),
-// element_find_elements(FindElementsInElementBy.class, (m)->new FindElementsInElementBy(Bys.get(m.get("by")))),
-// element_get_attribute(GetElementAttribute.class, (m) -> new GetElementAttribute(m.get("name"))),
-// element_get_css_value(GetElementCssValue.class, (m) -> new GetElementCssValue(m.get("name"))),
-// element_get_location(GetElementLocation.class, (m) -> new GetElementLocation()),
-// element_get_rect(GetElementRect.class, (m) ->new GetElementRect()),
-// element_get_size(GetElementSize.class, (m) -> new GetElementSize()),
-// element_get_tagname(GetElementTagname.class, (m) -> new GetElementTagname()),
-// element_get_text(GetElementText.class, (m) -> new GetElementText()),
-// is_element_displayed(IsElementDisplayed.class, (m) -> new IsElementDisplayed()),
-// is_element_enabled(IsElementEnabled.class, (m) -> new IsElementEnabled()),
-// is_element_selected(IsElementSelected.class, (m) -> new IsElementSelected()),
-// element_send_keys(ElementSendKeys.class, (m) -> new ElementSendKeys(m.get("keys"))),
-// element_submit(ElementSubmit.class, (m) -> new ElementSubmit()),
-// element_get_screenshot(ElementScreenShot.class, (m) -> new ElementScreenShot()),
-
-
- ;
-
- private final Class extends WebDriverVerb> verbClass;
- private final Function