This repository has been archived by the owner on Dec 14, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
InventoryPage.java
55 lines (43 loc) · 1.77 KB
/
InventoryPage.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.saucelabs.saucedemo.pages;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
public class InventoryPage {
InventoryPage() {}
@FindBy(className = "inventory_container")
private WebElement inventoryContainer;
@FindBy(className = "inventory_list")
private WebElement inventoryList;
@FindBy(className = "header_secondary_container")
private WebElement inventoryHeader;
/**
* Returns the Div containing the item specified (zero-indexed)
* @param itemNumber
* @return
*/
private WebElement getItemNumber(int itemNumber) {
return inventoryList.findElement(By.cssSelector(String.format("div.inventory_item:nth-of-type(%d)", itemNumber)));
}
public String getItemName(int itemNumber) {
WebElement itemName = getItemNumber(itemNumber).findElement(By.className("inventory_item_name"));
return itemName.getText();
}
public String getItemDescription(int itemNumber) {
WebElement itemDesc = getItemNumber(itemNumber).findElement(By.className("inventory_item_desc"));
return itemDesc.getText();
}
public String getItemPrice(int itemNumber) {
WebElement itemPrice = getItemNumber(itemNumber).findElement(By.className("inventory_item_price"));
return itemPrice.getText();
}
public void addItemToCart(int itemNumber) {
WebElement addToCart = getItemNumber(itemNumber).findElement(By.className("btn_primary"));
addToCart.click();
}
public boolean isOnPage() {
return inventoryHeader.isDisplayed();
}
public boolean itemAddedToCart(int itemNumber) {
return getItemNumber(itemNumber).findElement(By.className("btn_secondary")).isDisplayed();
}
}