I am new to Laravel Dusk, and currently working on a simple project where you can add multiple dropdowns. The dropdowns have a name like name = "item[]"
. How can I select each dropdown and select random options?
I have tried :
$items = $browser->elements('input[name^="item[]"');
foreach ($items as $item) {
$item->select(); // Select random options
}
but it doesn't work. There's no error, test and assertions are OK but it's not selecting values from the dropdowns.
Edit
Just tried :
$items = $browser->elements('select[name^="item[]"'); // Change input to select
foreach ($items as $item) {
$item->select(); // Select random options
}
it now gives me an error "call to undefined method select()
".
Use this:
use Facebook\WebDriver\WebDriverBy;
$items = $browser->elements('select[name^="item[]"]');
foreach ($items as $item) {
$options = $item->findElements(WebDriverBy::cssSelector('option:not([disabled])'));
$options[array_rand($options)]->click();
}