You are on page 1of 1

Chapter 3

How it works...
By passing the name of the attribute to the getAttribute()method, it returns the value of
the attribute back to the test. In this example, we are checking that the align attribute of the
<p> element is set to justify:

assertEquals("justify", message.getAttribute("align"));

By passing the name of CSS attribute to the getCSSValue() method, it returns the value
of the CSS attribute. In this example, we are checking that the width attribute of the <div>
element is set to 150px:
String width = message.getCssValue("width");

Automating dropdowns and lists


Selenium WebDriver supports testing dropdown and list elements using a special Select
class.

The Select class provides various methods and properties to interact with dropdowns and
lists created with the HTML <select> element.

In this recipe, we will automate dropdown and list control using the Select class.

How to do it...
Let's create a test for a dropdown control. This test will perform some basic checks and will
then call various methods to select options in the dropdown:
@Test
public void testDropdown() {

// Get the Dropdown as a Select using it's name attribute


Select make = new Select(driver.findElement(By.name("make")));

// Verify Dropdown does not support multiple selection


assertFalse(make.isMultiple());
// Verify Dropdown has four options for selection
assertEquals(4, make.getOptions().size());

// With Select class we can select an option in Dropdown using


Visible text
make.selectByVisibleText("Honda");
assertEquals("Honda", make.getFirstSelectedOption().getText());

77

You might also like