Skip to main content

Date Picker 1- Calendar

Working on date picking -

package com.phpTravels.PHPTravels;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
public class LaunchClose {
WebDriver driver;
@BeforeClass
public void launchApp() {
//instantiate Chrome Browser driver
System.setProperty("webdriver.chrome.driver", "/Users/tester/Documents/webDrivers/chrome/chromedriver"); driver = new ChromeDriver();
driver.get("https://www.phptravels.net/"); //boolean applaunch=driver.getCurrentUrl();
System.out.println("browser has launched"); }
@AfterClass
public void CloseApp() {
driver.quit();
System.out.println("browser has quite");
}
}

 Second Class -
package com.phpTravels.PHPTravels;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.testng.annotations.Test;
/**
 *
 */
public class SearchHotels {
LaunchClose lauchClose;
@Test
public void searchHotel() throws InterruptedException {
lauchClose =new LaunchClose();
lauchClose.launchApp();
Thread.sleep(5000);
lauchClose.driver.findElement(By.xpath("//*[@id=\'body-section\']/div[1]/div/div/div[1]/div/ul/li[1]/a")).click(); Thread.sleep(2000);
lauchClose.driver.findElement(By.cssSelector("#dpd1 > input")).click();
Thread.sleep(2000);
String expectedMouth= "June 2018"; String currentMonth=lauchClose.driver.findElement(By.cssSelector("body > div:nth-child(23) > div.datepicker-days > table > thead > tr:nth-child(1) > th.switch")).getText(); if (expectedMouth.equals(currentMonth)) { System.out.println("The month entered is already selected"); }
//if expectedMouth entering is not already selected the do the following
else {
for(int j=1; j<12;j++) {
//clicking on the next button
lauchClose.driver.findElement(By.xpath("/html/body/div[14]/div[1]/table/thead/tr[1]/th[3]")).click(); Thread.sleep(2000);
//returning the value of current month
currentMonth=lauchClose.driver.findElement(By.xpath("/html/body/div[14]/div[1]/table/thead/tr[1]/th[2]")).getText(); if (expectedMouth.equals(currentMonth)) { System.out.println("Expected month now selected  " + currentMonth); break; //because we do not want to loop to carry on with next link being clicked again
}
}
}
Thread.sleep(2000);
//getting the days of the month
//td contains the days of the month
//webElement for the parent
WebElement datePicker=lauchClose.driver.findElement(By.xpath("/html/body/div[14]/div[1]/table/tbody"));
//pick up all tds - days inside trs of tbody List<WebElement> dates=datePicker.findElements(By.tagName("td"));
//for each date in a collection of dates webElements
for(WebElement date : dates) {
String calenDates = date.getText();
System.out.println(calenDates);
if(calenDates.equals("5")) {
date.click();
break;
}
}
}
 
}

Comments

Popular posts from this blog

Working with Dropdownbox elements in Selenium WebDriver

How to select element from a Dropbox We are going to use Selenium webDriver and chrome driver to test this. In addition, this test was created on Mac.  I assume you have installed and setup java in your system path.  Also, install Eclipse for jee. 1. First let's take a look at a quick test case: Test case: TC_1. Register on http://automationpractice.com/index.php TC_1.1: Launch hope page -http://automationpractice.com/index.php TC_1.2 : Click on link ‘Sign in’ TC_1.3 : Under “Create Account” subheading, enter Email address in ‘Email address’ textfield TC_1.4 : Click on ‘Create an account’ button. —————————————————————————————— Test data: Email address: gorgeous12@hotmail.com http://automationpractice.com/index.php ---------------------------------------------------------------- Expected : http://automationpractice.com/index.php?controller=my-account ———————————------------ 2. Next, create a maven project in Eclipse 3....

Cypress UI Automation - part 1

Java to Cypress-JavaScript Automation Migration Introduction: Across Cancer Research UK engineering department, we currently use a Java automation framework for our User interface and API testing. The framework has evolved in the last 3 to 4 years and currently, we have 19 products/project, (running approximately 1350 test scenarios) using the framework to run the respective sanity/regression packs. The project/products extend across different technology stacks such as Drupal, Symphony, React JS, .Net, OBI and Siebel CRM.   The Quality Assurance (QA) test team are currently under the process to be transformed into a fully-fledged Quality Assurance function.   As part of this transformation, we would like to have a comprehensive, automated test suite that can be maintained by developers and testers. Furthermore, our front-end web development is moving into JavaScript, now is the right time to migrate our automation framework also from java into JavaScript. The introduction ...

Performance Testing

  Performance Testing As part of the Quality Assurance Test Approach, each tester has to implement performance testing within its product team. In this section of the project, I will be using Apache JMeter as the testing tool for the test approach. Apache JMeter is an open-source performance testing tool for load, stress and many more testing. Screenshot from: https://www.youtube.com/watch?v=817zU_bXh9Y&list=PLUDwpEzHYYLs33uFHeIJo-6eU92IoiMZ7 JMeter works by creating a request to a target server(website), the server then responds, saves responses, collects, calculate statistics, return results to request and then generate reports.