Last active
May 10, 2022 17:24
-
-
Save daominhdam/02fcd3fdeac556ce59bcbb55d15b0398 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package selenium_webdriver_api; | |
import java.util.concurrent.TimeUnit; | |
import org.openqa.selenium.By; | |
import org.openqa.selenium.JavascriptExecutor; | |
import org.openqa.selenium.WebDriver; | |
import org.openqa.selenium.WebElement; | |
import org.openqa.selenium.firefox.FirefoxDriver; | |
import org.testng.Assert; | |
import org.testng.annotations.AfterMethod; | |
import org.testng.annotations.BeforeMethod; | |
import org.testng.annotations.Test; | |
public class Topic_14_VerifyHTML5Message { | |
WebDriver driver; | |
By resultIframe = By.xpath("//iframe[@id='result']"); | |
By nameTextbox = By.xpath("//input[@id='fname']"); | |
By passwordTextbox = By.xpath("//input[@id='pass']"); | |
By emailTextbox = By.xpath("//input[@id='em']"); | |
By submitButton = By.xpath("//input[@value='SUBMIT']"); | |
@BeforeMethod | |
public void beforeMethod() { | |
driver = new FirefoxDriver(); | |
driver.get("https://automationfc.github.io/html5/index.html"); | |
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); | |
driver.switchTo().frame(driver.findElement(resultIframe)); | |
} | |
@Test | |
public void TC_01_Validate_Name_Empty() { | |
driver.findElement(nameTextbox).sendKeys(""); | |
driver.findElement(submitButton).click(); | |
String nameMessage = getHTML5ValidationMessage(driver.findElement(nameTextbox)); | |
Assert.assertEquals("Please fill out this field.", nameMessage); | |
} | |
@Test | |
public void TC_02_Validate_Password_Empty() { | |
driver.findElement(nameTextbox).sendKeys("Dam Dao"); | |
driver.findElement(passwordTextbox).sendKeys(""); | |
driver.findElement(submitButton).click(); | |
String passwordMessage = getHTML5ValidationMessage(driver.findElement(passwordTextbox)); | |
Assert.assertEquals("Please fill out this field.", passwordMessage); | |
} | |
@Test | |
public void TC_03_Validate_Email_Empty() { | |
driver.findElement(nameTextbox).sendKeys("Dam Dao"); | |
driver.findElement(passwordTextbox).sendKeys("123456"); | |
driver.findElement(emailTextbox).sendKeys(""); | |
driver.findElement(submitButton).click(); | |
String emailMessage = getHTML5ValidationMessage(driver.findElement(emailTextbox)); | |
Assert.assertEquals("Please fill out this field.", emailMessage); | |
} | |
@Test | |
public void TC_04_Validate_Email_Invalid() { | |
driver.findElement(nameTextbox).sendKeys("Dam Dao"); | |
driver.findElement(passwordTextbox).sendKeys("123456"); | |
driver.findElement(emailTextbox).sendKeys("dam@gmail"); | |
driver.findElement(submitButton).click(); | |
String emailInvalidMessage = getHTML5ValidationMessage(driver.findElement(emailTextbox)); | |
Assert.assertEquals("Please match the requested format.", emailInvalidMessage); | |
} | |
@Test | |
public void TC_05_Validate_Email_Incorrect() { | |
driver.findElement(nameTextbox).sendKeys("Dam Dao"); | |
driver.findElement(passwordTextbox).sendKeys("123456"); | |
driver.findElement(emailTextbox).sendKeys("dam@gmail@email.com"); | |
driver.findElement(submitButton).click(); | |
String emailIncorrectMessage = getHTML5ValidationMessage(driver.findElement(emailTextbox)); | |
Assert.assertEquals("Please enter an email address.", emailIncorrectMessage); | |
} | |
public String getHTML5ValidationMessage(WebElement element) { | |
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; | |
return (String) jsExecutor.executeScript("return arguments[0].validationMessage;", element); | |
} | |
@AfterMethod | |
public void afterMethod() { | |
driver.quit(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment