mirror of
https://github.com/browser-use/browser-use
synced 2026-04-22 17:45:09 +02:00
41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
"""
|
|
Test dropdown interaction functionality.
|
|
"""
|
|
|
|
import pytest
|
|
|
|
from browser_use.agent.service import Agent
|
|
from browser_use.agent.views import AgentHistoryList
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_dropdown(llm, browser_context):
|
|
"""Test selecting an option from a dropdown menu."""
|
|
agent = Agent(
|
|
task=(
|
|
'go to https://codepen.io/geheimschriftstift/pen/mPLvQz and first get all options for the dropdown and then select the 5th option'
|
|
),
|
|
llm=llm,
|
|
browser_context=browser_context,
|
|
)
|
|
|
|
try:
|
|
history: AgentHistoryList = await agent.run(20)
|
|
result = history.final_result()
|
|
|
|
# Verify dropdown interaction
|
|
assert result is not None
|
|
assert 'Duck' in result, "Expected 5th option 'Duck' to be selected"
|
|
|
|
# Verify dropdown state
|
|
element = await browser_context.get_element_by_selector('select')
|
|
assert element is not None, 'Dropdown element should exist'
|
|
|
|
value = await element.evaluate('el => el.value')
|
|
assert value == '5', 'Dropdown should have 5th option selected'
|
|
|
|
except Exception as e:
|
|
pytest.fail(f'Dropdown test failed: {str(e)}')
|
|
finally:
|
|
await browser_context.close()
|