Web-Shepherd-Demo / BrowserGym /tests /miniwob /test_click-scroll-list.py
kyle8581's picture
upload
dd39c08
raw
history blame
1.02 kB
import os
import gymnasium as gym
import re
import pytest
# register gym environments
import browsergym.miniwob
__SLOW_MO = 1000 if "DISPLAY_BROWSER" in os.environ else None
__HEADLESS = False if "DISPLAY_BROWSER" in os.environ else True
@pytest.mark.parametrize("seed", range(5))
def test_cheat(seed):
env = gym.make(
"browsergym/miniwob.click-scroll-list",
headless=__HEADLESS,
slow_mo=__SLOW_MO,
action_mapping=None,
)
obs, info = env.reset(seed=seed)
assert obs["last_action_error"] == ""
match = re.match("Select (.+) from the scroll list and click Submit.", obs["goal"])
assert match
options = match.groups()[0].split(", ")
options = '", "'.join(options)
action = f"""\
page.locator("#options").select_option(["{options}"])
page.get_by_role("button", name="Submit").click()
"""
obs, reward, term, trunc, info = env.step(action)
assert obs["last_action_error"] == ""
assert reward == 1
assert term == True
env.close()