parent
9094be6766
commit
7958b641f5
@ -1,41 +0,0 @@
|
|||||||
= TabDriver
|
|
||||||
|
|
||||||
:stylesheet: ../shared/adoc-styles.css
|
|
||||||
:toc:
|
|
||||||
:toclevels: 4
|
|
||||||
|
|
||||||
|
|
||||||
* Wrapper for `selenium` to make it easier to use.
|
|
||||||
* Must use `Chrome` (not `Chromium`).
|
|
||||||
* Must supply `.properties` file with.
|
|
||||||
|
|
||||||
|
|
||||||
chrome.driver.path=
|
|
||||||
headless=false
|
|
||||||
download.dir=
|
|
||||||
|
|
||||||
== Usage
|
|
||||||
|
|
||||||
=== Init
|
|
||||||
|
|
||||||
[source,java]
|
|
||||||
var confPath = Path.of("/foo/tabdriver.properties");
|
|
||||||
var td = TabDriverBuilder.build(confPath);
|
|
||||||
|
|
||||||
=== Web Navigation
|
|
||||||
|
|
||||||
* `TabDriver` is somewhat opionionated.
|
|
||||||
* The default way of fetching an element is by `css` selector.
|
|
||||||
** i.e. `td.findByCss("input[name='q']")`
|
|
||||||
** this returns an `Optional<WebElement>` which the consumer can
|
|
||||||
** the optional is empty on any error.
|
|
||||||
decide how to consume.
|
|
||||||
|
|
||||||
=== Quick Recap of CSS Selectors
|
|
||||||
|
|
||||||
|===
|
|
||||||
| Selector | Description
|
|
||||||
| `[class*='x']` , `[aria-label*='x']` | `attribute` containing `x`
|
|
||||||
| button[class*='email'] | button with a class containing the word `email`
|
|
||||||
| form[action*='sign'] | form with an action attribute containing the word `sign`
|
|
||||||
| button.tv-button#email-signin | button with class `tv-button` and id `email-signin`
|
|
@ -0,0 +1,39 @@
|
|||||||
|
# TabDriver
|
||||||
|
|
||||||
|
|
||||||
|
* Wrapper for `selenium` to make it easier to use.
|
||||||
|
* Must use `Chrome` (not `Chromium`).
|
||||||
|
* Must supply `.properties` file with.
|
||||||
|
|
||||||
|
```properties
|
||||||
|
chrome.driver.path=
|
||||||
|
headless=false
|
||||||
|
download.dir=
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Init
|
||||||
|
|
||||||
|
```java
|
||||||
|
var confPath = Path.of("/foo/tabdriver.properties");
|
||||||
|
var td = TabDriverBuilder.build(confPath);
|
||||||
|
```
|
||||||
|
|
||||||
|
### Web Navigation
|
||||||
|
|
||||||
|
* `TabDriver` is somewhat opionionated.
|
||||||
|
* The default way of fetching an element is by `css` selector.
|
||||||
|
* i.e. `td.findByCss("input[name='q']")`
|
||||||
|
* this returns an `Optional<WebElement>` which the consumer can decide how to consume.
|
||||||
|
* the optional is empty on any error.
|
||||||
|
|
||||||
|
|
||||||
|
### Quick Recap of CSS Selectors
|
||||||
|
|
||||||
|
| Selector | Description |
|
||||||
|
|--------------------------------------|----------------------------------------------------------|
|
||||||
|
| `[class*='x']` , `[aria-label*='x']` | `attribute` containing `x` |
|
||||||
|
| button[class*='email'] | button with a class containing the word `email` |
|
||||||
|
| form[action*='sign'] | form with an action attribute containing the word `sign` |
|
||||||
|
| button.tv-button#email-signin | button with class `tv-button` and id `email-signin` |
|
Loading…
Reference in new issue