* using a container image with `robotframework`, `selenium`, `chromium` and `chromedriver` preinstalled, such as [`alpine-rf`](https://git.dotya.ml/wanderer/docker-alpine-rf) or [`archlinux-rf`](https://git.dotya.ml/wanderer/docker-archlinux-rf)
> Note: you may need to run some of the following commands as root. You can as well learn how not to [here.](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)
the [`alpine-rf`](https://hub.docker.com/r/immawanderer/alpine-rf/builds) image is being rebuilt <del>on an hourly</del> on a daily basis, so I recommend updating frequently.
run the container in interactive mode, mounting user's `$PWD` into container's `/testing` folder, removing the container after exiting (so that it doesn't take up space) while preserving the work done (saved on the shared volume)
or (when using the [`alpine-rf image`](https://git.dotya.ml/wanderer/docker-alpine-rf)) run all of the above as a designated test user `rf` (`uid=1000`) instead of `root`
the [diagram](test_hierarchy.png) under [hierarchy](#hierarchy) was generated using [this](./test_hierarchy.mermaid.js) [`mermaid.js`](https://mermaid-js.github.io/mermaid/#/ "mermaid.js") code