Getting started with the API

Let's start off by creating a basic Actions object that we can use to perform a series of actions, as follows:

Actions advancedActions = new Actions(driver); 

It's very simple to create. We just pass in a driver object, and we now have an Actions object available.

Let's start off by performing a couple of basic commands to give you an idea of what can be done:

WebElement anElement = driver.findElement(By.id("anElement")); 
advancedActions.moveToElement(anElement).contextClick().perform(); 

We have now created a very basic script that will move the mouse cursor to an element and then right-click on it. The Actions object allows us to queue up a series of commands that we want to execute and then perform them all at the same time. With long lists of commands, this can soon get confusing if we keep everything on the same line. We could make each command step clearer by reformatting the code to look like this:

WebElement anElement = driver.findElement(By.id("anElement")); 
advancedActions.moveToElement(anElement)
.contextClick()
.perform();

We have now put each action on a separate line to make it more readable, which is something that I would highly recommend.

You may have noted that there is an extra command on the final line called .perform(). This tells Selenium that we have no more commands that we want to queue up and we should now go and perform all the commands that we have queued up so far.

If you look at the Javadoc for the Actions class (or the various tutorials on the internet), you may come across a chained command called .build() that I have not used in the preceding example. The .build() command is automatically called by .perform(), so you don't need to explicitly call it as well. Some people call it anyway for clarity; I don't use it to reduce code clutter.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.103.8