Apply POM to JavaScriptPopupMessages
This commit is contained in:
parent
cdd8d98acc
commit
0701dd75f0
|
|
@ -0,0 +1,27 @@
|
||||||
|
package pages.webelements;
|
||||||
|
|
||||||
|
import org.openqa.selenium.Alert;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
public class AlertPanel
|
||||||
|
{
|
||||||
|
private Alert alert = null;
|
||||||
|
private WebDriver driver = null;
|
||||||
|
|
||||||
|
public AlertPanel(WebDriver driver)
|
||||||
|
{
|
||||||
|
this.driver = driver;
|
||||||
|
alert = driver.switchTo().alert();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getText()
|
||||||
|
{
|
||||||
|
return alert.getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void accept()
|
||||||
|
{
|
||||||
|
alert.accept();
|
||||||
|
driver.switchTo().defaultContent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package pages.webelements;
|
||||||
|
|
||||||
|
import org.openqa.selenium.Alert;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
public class ConfirmPanel
|
||||||
|
{
|
||||||
|
private Alert confirm = null;
|
||||||
|
private WebDriver driver = null;
|
||||||
|
|
||||||
|
public ConfirmPanel(WebDriver driver)
|
||||||
|
{
|
||||||
|
this.driver = driver;
|
||||||
|
confirm = driver.switchTo().alert();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getText()
|
||||||
|
{
|
||||||
|
return confirm.getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void dismiss()
|
||||||
|
{
|
||||||
|
confirm.dismiss();
|
||||||
|
driver.switchTo().defaultContent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package pages.webelements;
|
||||||
|
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.support.FindBy;
|
||||||
|
import org.openqa.selenium.support.PageFactory;
|
||||||
|
|
||||||
|
public class JavaScriptPopupMessagesPage
|
||||||
|
{
|
||||||
|
@FindBy(xpath = "//button[contains(text(),'JavaScript Popup Messages')]")
|
||||||
|
private WebElement accordionItem;
|
||||||
|
|
||||||
|
@FindBy(id = "alert-button")
|
||||||
|
private WebElement alertButton;
|
||||||
|
|
||||||
|
@FindBy(id = "confirm-button")
|
||||||
|
private WebElement confirmButton;
|
||||||
|
|
||||||
|
@FindBy(id = "prompt-button")
|
||||||
|
private WebElement promptButton;
|
||||||
|
|
||||||
|
private WebDriver driver;
|
||||||
|
|
||||||
|
public JavaScriptPopupMessagesPage(WebDriver driver)
|
||||||
|
{
|
||||||
|
this.driver = driver;
|
||||||
|
PageFactory.initElements(this.driver, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clickOnAccordionItem()
|
||||||
|
{
|
||||||
|
accordionItem.click();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clickAlertButton()
|
||||||
|
{
|
||||||
|
alertButton.click();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clickConfirmButton()
|
||||||
|
{
|
||||||
|
confirmButton.click();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clickPromptButton()
|
||||||
|
{
|
||||||
|
promptButton.click();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
package pages.webelements;
|
||||||
|
|
||||||
|
import org.openqa.selenium.Alert;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
public class PromptPanel
|
||||||
|
{
|
||||||
|
private Alert prompt = null;
|
||||||
|
private WebDriver driver = null;
|
||||||
|
|
||||||
|
public PromptPanel(WebDriver driver)
|
||||||
|
{
|
||||||
|
this.driver = driver;
|
||||||
|
prompt = driver.switchTo().alert();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setText(String text)
|
||||||
|
{
|
||||||
|
prompt.sendKeys(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getText()
|
||||||
|
{
|
||||||
|
return prompt.getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void dismiss()
|
||||||
|
{
|
||||||
|
prompt.dismiss();
|
||||||
|
driver.switchTo().defaultContent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package tests.webelements;
|
||||||
|
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||||
|
|
||||||
|
import pages.webelements.AlertPanel;
|
||||||
|
import pages.webelements.ConfirmPanel;
|
||||||
|
import pages.webelements.JavaScriptPopupMessagesPage;
|
||||||
|
import pages.webelements.PromptPanel;
|
||||||
|
|
||||||
|
public class JavaScriptPopupMessagesTests
|
||||||
|
{
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
// Specify path to WebDriver:
|
||||||
|
System.setProperty("webdriver.gecko.driver", "/snap/bin/geckodriver");
|
||||||
|
|
||||||
|
// Launch browser and navigate to test page:
|
||||||
|
WebDriver driver = new FirefoxDriver();
|
||||||
|
driver.manage().window().maximize();
|
||||||
|
driver.get("https://ramoncaballero.dev/sdet/selenium-webdriver/playgrounds/");
|
||||||
|
|
||||||
|
// Instantiate the page model:
|
||||||
|
JavaScriptPopupMessagesPage page = new JavaScriptPopupMessagesPage(driver);
|
||||||
|
|
||||||
|
// Perform actions on the page:
|
||||||
|
page.clickOnAccordionItem();
|
||||||
|
|
||||||
|
page.clickAlertButton();
|
||||||
|
AlertPanel alert = new AlertPanel(driver);
|
||||||
|
System.out.println("Alert text: " + alert.getText());
|
||||||
|
alert.accept();
|
||||||
|
|
||||||
|
page.clickConfirmButton();
|
||||||
|
ConfirmPanel confirm = new ConfirmPanel(driver);
|
||||||
|
System.out.println("Confirm text: " + confirm.getText());
|
||||||
|
confirm.dismiss();
|
||||||
|
|
||||||
|
page.clickPromptButton();
|
||||||
|
PromptPanel prompt = new PromptPanel(driver);
|
||||||
|
System.out.println("Prompt text: " + prompt.getText());
|
||||||
|
prompt.dismiss();
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
// This is commented out so you can actually see what happened in the web page:
|
||||||
|
// driver.quit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,65 +0,0 @@
|
||||||
package webelements;
|
|
||||||
|
|
||||||
import org.openqa.selenium.Alert;
|
|
||||||
import org.openqa.selenium.By;
|
|
||||||
import org.openqa.selenium.WebDriver;
|
|
||||||
import org.openqa.selenium.firefox.FirefoxDriver;
|
|
||||||
|
|
||||||
public class JavaScriptPopupMessages
|
|
||||||
{
|
|
||||||
public static void main(String[] args)
|
|
||||||
{
|
|
||||||
// Specify path to WebDriver:
|
|
||||||
System.setProperty("webdriver.gecko.driver", "/snap/bin/geckodriver");
|
|
||||||
|
|
||||||
// Launch browser and navigate to test page:
|
|
||||||
WebDriver driver = new FirefoxDriver();
|
|
||||||
driver.manage().window().maximize();
|
|
||||||
driver.get("https://ramoncaballero.dev/sdet/selenium-webdriver/playgrounds/");
|
|
||||||
|
|
||||||
// Click on the 'JavaScript Popup Messages' accordion item:
|
|
||||||
driver.findElement(By.xpath("//button[contains(text(),'JavaScript Popup Messages')]")).click();
|
|
||||||
|
|
||||||
//
|
|
||||||
// ALERT
|
|
||||||
//
|
|
||||||
|
|
||||||
driver.findElement(By.id("alert-button")).click();
|
|
||||||
|
|
||||||
Alert alert = driver.switchTo().alert();
|
|
||||||
String alertText = alert.getText();
|
|
||||||
alert.accept();
|
|
||||||
|
|
||||||
System.out.println("Alert text: " + alertText);
|
|
||||||
|
|
||||||
//
|
|
||||||
// CONFIRM
|
|
||||||
//
|
|
||||||
|
|
||||||
driver.findElement(By.id("confirm-button")).click();
|
|
||||||
|
|
||||||
Alert confirm = driver.switchTo().alert();
|
|
||||||
String confirmText = confirm.getText();
|
|
||||||
confirm.dismiss();
|
|
||||||
|
|
||||||
System.out.println("Confirm text: " + confirmText);
|
|
||||||
|
|
||||||
//
|
|
||||||
// PROMPT
|
|
||||||
//
|
|
||||||
|
|
||||||
driver.findElement(By.id("prompt-button")).click();
|
|
||||||
|
|
||||||
Alert prompt = driver.switchTo().alert();
|
|
||||||
prompt.sendKeys("QA");
|
|
||||||
String promptText = prompt.getText();
|
|
||||||
prompt.dismiss();
|
|
||||||
|
|
||||||
System.out.println("Prompt text: " + promptText);
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
// This is commented out so you can actually see what happened in the web page:
|
|
||||||
// driver.quit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue