Sure, you can verify selected options in a multi-select/combobox element in Playwright using the toHaveValues
assertion from the LocatorAssertions
class. Here's how you can do it:
const locator = page.locator('id=favorite-colors');
await locator.selectOption(['R', 'G']);
await expect(locator).toHaveValues([/R/, /G/]);
In this example, we're selecting options "R" and "G" and then checking if they're selected. The toHaveValues
assertion takes an array of expected values and an optional options object for specifying a timeout.
await expect(locator).toHaveValues([/R/, /G/], { timeout: 5000 });
This will wait for 5 seconds for the assertion to pass. You can also assert that an option is not selected using the .not
property.
await expect(locator).not.toHaveValues(['B']);
This checks that option "B" is not selected. So, to verify selected options, use the toHaveValues
assertion. It checks if specific values are selected in a multi-select/combobox element. Don't forget to provide the expected values and a timeout value if needed.
If you still have questions, please ask a question and I will try to answer it.
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email [email protected].