Spaces:
Running
Running
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 | |
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() | |