Quick Start

This guide demonstrates the three main ways to use WebRunner.

Example 1: Direct Python API

Use WebRunner’s classes and functions directly in Python code.

from je_web_runner import TestObject
from je_web_runner import get_webdriver_manager
from je_web_runner import web_element_wrapper

# Create a WebDriver manager (using Chrome)
manager = get_webdriver_manager("chrome")

# Navigate to a URL
manager.webdriver_wrapper.to_url("https://www.google.com")

# Set implicit wait
manager.webdriver_wrapper.implicitly_wait(2)

# Create a test object to locate the search box by name
search_box = TestObject("q", "name")

# Find the element
manager.webdriver_wrapper.find_element(search_box)

# Click and type into the element
web_element_wrapper.click_element()
web_element_wrapper.input_to_element("WebRunner automation")

# Close the browser
manager.quit()

Example 2: JSON Action List

Define automation scripts as JSON action lists and execute them through the Action Executor.

from je_web_runner import execute_action

actions = [
    ["WR_get_webdriver_manager", {"webdriver_name": "chrome"}],
    ["WR_to_url", {"url": "https://www.google.com"}],
    ["WR_implicitly_wait", {"time_to_wait": 2}],
    ["WR_SaveTestObject", {"test_object_name": "q", "object_type": "name"}],
    ["WR_find_element", {"element_name": "q"}],
    ["WR_click_element"],
    ["WR_input_to_element", {"input_value": "WebRunner automation"}],
    ["WR_quit"]
]

result = execute_action(actions)

Example 3: Execute from JSON File

Create an actions.json file:

[
    ["WR_get_webdriver_manager", {"webdriver_name": "chrome"}],
    ["WR_to_url", {"url": "https://example.com"}],
    ["WR_quit"]
]

Execute it in Python:

from je_web_runner import execute_files

results = execute_files(["actions.json"])

Or via CLI:

python -m je_web_runner -e actions.json

Example 4: Headless Mode

Run browsers without a visible GUI window using headless mode.

from je_web_runner import get_webdriver_manager

manager = get_webdriver_manager("chrome", options=["--headless", "--disable-gpu"])
manager.webdriver_wrapper.to_url("https://example.com")
title = manager.webdriver_wrapper.execute_script("return document.title")
print(f"Page title: {title}")
manager.quit()