Selenium driver for OKW4Robot - Web GUI test automation with Chrome, Firefox and more.
Project description
OKW Web Selenium
Selenium WebDriver plugin for OKW4Robot — the driver-agnostic keyword library for Robot Framework.
This package provides WebSe_* widget implementations that translate
OKW keywords (SetValue, ClickOn, VerifyValue, ...) into Selenium
WebDriver calls for Chrome, Firefox, Edge and other browsers.
Deutsche Version: README_de.md
Installation
pip install robotframework-okw-web-selenium
This automatically installs robotframework-okw4robot (core) and
robotframework-seleniumlibrary as dependencies.
Quick Start
*** Settings ***
Library okw_web_selenium.library.OkwWebSeleniumLibrary
*** Test Cases ***
Login Test
StartHost Chrome
StartApp Chrome
SelectWindow Chrome
SetValue URL https://example.com/login
StartApp MyApp
SelectWindow LoginDialog
SetValue Username admin
SetValue Password secret
ClickOn Login
VerifyValue Status Logged in
StopHost
All keywords come from the core (okw4robot). This package only provides
the Selenium-specific widget implementations — you never import individual
keyword modules.
How It Works
OKW4Robot keyword This package (WebSe_*)
───────────────── ──────────────────────
SetValue "Name" "Smith" → WebSe_TextField.okw_set_value("Smith")
└→ Selenium: clear + input_text
ClickOn "Login" → WebSe_Button.okw_click()
└→ Selenium: click_element
VerifyValue "Status" "OK" → WebSe_Label.okw_get_value()
└→ Selenium: get_text → polling loop
The YAML locator file determines which WebSe_* class is used for each
GUI object:
# locators/MyApp.yaml
MyApp:
LoginDialog:
Username:
class: okw_web_selenium.widgets.webse_textfield.WebSe_TextField
locator: { id: user_input }
Password:
class: okw_web_selenium.widgets.webse_textfield.WebSe_TextField
locator: { id: password_input }
Login:
class: okw_web_selenium.widgets.webse_button.WebSe_Button
locator: { css: "button[type=submit]" }
Widget Classes
| Class | HTML Elements | Key Methods |
|---|---|---|
WebSe_TextField |
<input>, <textarea> |
set_value, type_key, get_value, delete |
WebSe_Button |
<button>, <input type=button> |
click, double_click, get_text |
WebSe_CheckBox |
<input type=checkbox> |
click, set_value, get_value |
WebSe_ComboBox |
<select>, custom dropdowns |
select, get_value, get_list_count |
WebSe_ListBox |
<select multiple>, <ul> lists |
select, get_value, get_list_count |
WebSe_RadioList |
<input type=radio> groups |
select, get_value |
WebSe_Label |
<span>, <div>, <p>, <label> |
get_value, get_text |
WebSe_Link |
<a> |
click, get_text |
WebSe_Table |
<table> |
get_cell_value, get_row_count, get_headers |
WebSe_MultilineField |
<textarea>, contenteditable |
set_value, type_key, get_value |
BrowserControl |
Browser host | start, stop, select_window |
UrlBar |
Address bar | set_value (navigate to URL) |
Full reference: docs/widgets_common.md
Documentation
- docs/README.md – Documentation overview
- docs/widgets_common.md – WebSe_* class reference
- docs/Web_Widget_Matrix.md – HTML element → widget mapping
- docs/radiolist.md – RadioList locator strategies
- docs/docs_host_app_config.md – Host/App YAML configuration
- docs/executejs-snippets.md – JavaScript snippets for ExecuteJS
For core documentation (keywords, contracts, timeouts, sync strategy) see robotframework-okw4robot.
Project Structure
robotframework-okw-web-selenium/
src/okw_web_selenium/
library.py # OkwWebSeleniumLibrary (extends OKW4RobotLibrary)
adapter.py # SeleniumAdapter (browser lifecycle)
widgets/
webse_base.py # WebSe_Base (shared Selenium logic)
webse_textfield.py # WebSe_TextField
webse_button.py # WebSe_Button
webse_checkbox.py # WebSe_CheckBox
webse_combobox.py # WebSe_ComboBox
webse_listbox.py # WebSe_ListBox
webse_radiolist.py # WebSe_RadioList
webse_label.py # WebSe_Label
webse_link.py # WebSe_Link
webse_table.py # WebSe_Table
webse_multilinefield.py
host/
browsercontrol/ # BrowserControl + UrlBar
locators/ # Built-in YAML locators (Chrome, WidgetsDemo, ...)
tests/
robot/ # 53 Robot Framework integration tests
docs/
License
- Community (non-commercial): see LICENSE
- Commercial: see COMMERCIAL_LICENSE.md
- FAQ: docs/license_faq.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file robotframework_okw_web_selenium-0.3.0.tar.gz.
File metadata
- Download URL: robotframework_okw_web_selenium-0.3.0.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d848f966ebdc142b12cdaa9fca8e52f9e023661e740a58329fd4f603ab6b9d4
|
|
| MD5 |
1226b086c9c3cf4026e8809948d5bf1f
|
|
| BLAKE2b-256 |
da336d53ca52dc58967acfd56756e68ba0dab20ef14caa5f91fc08c8d97d53a4
|
File details
Details for the file robotframework_okw_web_selenium-0.3.0-py3-none-any.whl.
File metadata
- Download URL: robotframework_okw_web_selenium-0.3.0-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1ab18666e10cbad45a5f9820f80531ff490fcd0382c4004dc4d57169dfbbdbb
|
|
| MD5 |
c5eeb81d9f34210bb9d0057dbfc08004
|
|
| BLAKE2b-256 |
fa4d7f7229bfb4dffd11d8752ed406a6fe850a87af0fa11bb324d449954a7ddb
|