com.easytox.automation.steps.addPhysicians.AddPhysiciansWestSteps.java Source code

Java tutorial

Introduction

Here is the source code for com.easytox.automation.steps.addPhysicians.AddPhysiciansWestSteps.java

Source

package com.easytox.automation.steps.addPhysicians;

import java.util.List;

import com.easytox.automation.driver.DriverBase;
import com.easytox.automation.utils.WebElementHelper;

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.Select;
import org.testng.Assert;

public class AddPhysiciansWestSteps {

    private static final String USERNAME = "lavanya1";
    private static final String PASSWORD = "P@ssw0rd123";
    private static final String FIND_USERNAME = "j_username";
    private static final String FIND_PASSWORD = "j_password";
    private static final String LAB_CLIENT = "Zest";
    private static final String URL = "http://bmtechsol.com:8080/easytox/";
    private static final String LAB_CLIENTS_LIST_URL = "http://bmtechsol.com:8080/easytox/labClient/list";
    private static final String CLINICIANS_LIST_URL = "http://bmtechsol.com:8080/easytox/clinician/clinicianslist";
    private static final String ADD_PHYSICIAN_URL = "http://bmtechsol.com:8080/easytox/clinician/create";
    private static final String EDIT_PHYSICIAN_URL = "http://bmtechsol.com:8080/easytox/clinician/edit";
    private static final String FIND_PHYSICIAN_USERNAME = "user.username";
    private static final String FIND_PHYSICIAN_PASSWORD = "user.password";
    private static final String CLINICIAN_PSW = "Welcome@123";

    private WebDriver driver;
    private WebElementHelper webElementHelper;

    public AddPhysiciansWestSteps() {
        DriverBase.instantiateDriverObject();
        this.webElementHelper = new WebElementHelper();
        driver = DriverBase.getDriver();
    }

    @Given("^User should be login to the lab$")
    public void user_should_be_login_to_the_lab() throws Throwable {
        driver.navigate().to(URL);

        WebElement username = driver.findElement(By.name(FIND_USERNAME));
        username.clear();
        username.sendKeys(USERNAME);

        WebElement psw = driver.findElement(By.name(FIND_PASSWORD));
        psw.clear();
        psw.sendKeys(PASSWORD);

        driver.findElement(By.xpath("//*[@id=\"loginform\"]/div[3]/div/button")).click();
    }

    @Given("^Locations should be available$")
    public void locations_should_be_available() throws Throwable {
        driver.navigate().to(LAB_CLIENTS_LIST_URL);
        Thread.sleep(2000);
        driver.findElement(By.linkText(LAB_CLIENT));
    }

    @When("^Click on the Phisician icon on the LabClient list page for Zest lab$")
    public void click_on_the_Phisician_icon_on_the_LabClient_list_page_for_Zest_lab() throws Throwable {
        Thread.sleep(2000);

        WebElement table = driver.findElement(By.id("example"));

        List<WebElement> allRows = table.findElements(By.tagName("tr"));
        loop: {
            for (WebElement row : allRows) {
                List<WebElement> cells = row.findElements(By.xpath("./*"));
                for (WebElement cell : cells) {
                    String cellText = cell.getText();
                    if (cellText.equals(LAB_CLIENT)) {
                        WebElement icon = row.findElement(By.cssSelector(".fa.fa-user-md.fa-2x"));
                        icon.click();
                        break loop;
                    }
                }
            }
        }
        Thread.sleep(2000);
    }

    @Then("^'Clinician List' page should be displayed$")
    public void clinician_List_page_should_be_displayed() throws Throwable {
        Assert.assertEquals(CLINICIANS_LIST_URL, driver.getCurrentUrl());
    }

    @When("^Select 'Edit' icon next to 'BradLemon' physician$")
    public void select_Edit_icon_next_to_BradLemon_physician() throws Throwable {
        Thread.sleep(2000);

        WebElement table = driver.findElement(By.id("example"));
        List<WebElement> allRows = table.findElements(By.tagName("tr"));
        loop: {
            for (WebElement row : allRows) {
                List<WebElement> cells = row.findElements(By.xpath("./*"));
                for (WebElement cell : cells) {
                    String cellText = cell.getText();
                    if (cellText.equals("BradLemon")) {
                        WebElement icon = row.findElement(By.cssSelector(".fa.fa-pencil-square-o.fa-2x"));
                        icon.click();
                        break loop;
                    }
                }
            }
        }
        Thread.sleep(2000);
    }

    @Then("^'Edit Physician' page should be displayed$")
    public void edit_Physician_page_should_be_displayed() throws Throwable {
        Assert.assertEquals(EDIT_PHYSICIAN_URL, driver.getCurrentUrl());
    }

    @When("^Select Lab Client Locations as 'Zest' and select Location as 'Zest' and add the location$")
    public void select_Lab_Client_Locations_as_Zest_and_select_Location_as_Zest_and_add_the_location()
            throws Throwable {
        Select dropdown = new Select(driver.findElement(By.id("labclientselect")));
        dropdown.selectByVisibleText(LAB_CLIENT);
        Thread.sleep(1000);
        dropdown = new Select(driver.findElement(By.id("lablocations")));
        dropdown.selectByVisibleText(LAB_CLIENT);

        driver.findElement(By.cssSelector(".addLocation")).click();

        Thread.sleep(2000);
    }

    @Then("^User should be able to select the location$")
    public void user_should_be_able_to_select_the_location() throws Throwable {
    }

    @When("^Click on 'Submit'$")
    public void click_on_Submit() throws Throwable {
        driver.findElement(By.cssSelector(".btn.btn-danger.btn-md")).click();
        Thread.sleep(2000);
    }

    @Then("^Physician should be added to the Zest Lab Client$")
    public void physician_should_be_added_to_the_Zest_Lab_Client() throws Throwable {
        Thread.sleep(1000);
        driver.findElement(By.cssSelector(".alert.alert-success"));
    }

    @When("^Select '\\+' icon next to search box$")
    public void select_icon_next_to_search_box() throws Throwable {
        driver.findElement(By.cssSelector(".fa.fa-plus-circle.fa-2x")).click();
    }

    @Then("^'Add Physician' page should be displayed$")
    public void add_Physician_page_should_be_displayed() throws Throwable {
        Assert.assertEquals(ADD_PHYSICIAN_URL, driver.getCurrentUrl());
    }

    @When("^Enter Username as 'Calvin' and pwd as 'Welcome@(\\d+)'$")
    public void enter_Username_as_Calvin_and_pwd_as_Welcome(int arg1) throws Throwable {
        String username = "Calvin";
        driver.findElement(By.name(FIND_PHYSICIAN_USERNAME)).sendKeys(username);
        driver.findElement(By.name(FIND_PHYSICIAN_PASSWORD)).sendKeys(CLINICIAN_PSW);
        Thread.sleep(5000);
    }

    @Then("^User should be able to enter the data$")
    public void user_should_be_able_to_enter_the_data() throws Throwable {
    }

    @When("^Select and add Compound Profile$")
    public void select_and_add_Compound_Profile() throws Throwable {
        Select dropdown = new Select(driver.findElement(By.id("profiles")));
        dropdown.selectByIndex(1);

        driver.findElement(By.cssSelector(".addProfile")).click();

        Thread.sleep(2000);
    }

    @Then("^User should be able to add the Compound Profile$")
    public void user_should_be_able_to_add_the_Compound_Profile() throws Throwable {
    }

    @When("^Enter the remaining information and click on 'Submit'$")
    public void enter_the_remaining_information_and_click_on_Submit() throws Throwable {
        Physician physician = initailizePhysician();
        driver.findElement(By.name("user.firstName")).sendKeys(physician.getFirstName());
        driver.findElement(By.name("user.middleIntial")).sendKeys(physician.getMiddleName());
        driver.findElement(By.name("user.lastName")).sendKeys(physician.getLastName());
        driver.findElement(By.name("user.medicalDegree")).sendKeys(physician.getMedicalDegree());
        driver.findElement(By.name("user.contact")).sendKeys(physician.getPhoneNumber());
        driver.findElement(By.name("user.email")).sendKeys(physician.getEmail());
        driver.findElement(By.name("salutation")).sendKeys(physician.getSalutation());
        driver.findElement(By.name("medicare_num")).sendKeys(physician.getMedicalNumber());
        driver.findElement(By.name("medicaid_num")).sendKeys(physician.getMedicaidNumber());
        driver.findElement(By.name("upin_num")).sendKeys(physician.getUpinNumer());
        driver.findElement(By.name("state_license")).sendKeys(physician.getStateLicence());
        driver.findElement(By.name("npi")).sendKeys(physician.getNpi());

        Thread.sleep(2000);

        driver.findElement(By.cssSelector(".btn.btn-primary.btn-md")).click();
        Thread.sleep(2000);
    }

    @Then("^Physician should be added to the Phisicians list$")
    public void physician_should_be_added_to_the_Phisicians_list() throws Throwable {
        Thread.sleep(1000);
        driver.findElement(By.cssSelector(".alert.alert-success"));
    }

    @When("^Enter Username as 'Caster' and pwd as 'Welcome@(\\d+)'$")
    public void enter_Username_as_Caster_and_pwd_as_Welcome(int arg1) throws Throwable {
        String username = "Caster";
        driver.findElement(By.name(FIND_PHYSICIAN_USERNAME)).sendKeys(username);
        driver.findElement(By.name(FIND_PHYSICIAN_PASSWORD)).sendKeys(CLINICIAN_PSW);
        Thread.sleep(5000);
    }

    @When("^Enter Username as 'Cooper' and pwd as 'Welcome@(\\d+)'$")
    public void enter_Username_as_Cooper_and_pwd_as_Welcome(int arg1) throws Throwable {
        String username = "Cooper";
        driver.findElement(By.name(FIND_PHYSICIAN_USERNAME)).sendKeys(username);
        driver.findElement(By.name(FIND_PHYSICIAN_PASSWORD)).sendKeys(CLINICIAN_PSW);
        Thread.sleep(5000);
    }

    private Physician initailizePhysician() {
        Physician physician = new Physician();

        physician.setFirstName("Name");
        physician.setMiddleName("Test");
        physician.setLastName("LastName");
        physician.setMedicalDegree("Doctor");
        physician.setPhoneNumber("2222222222");
        physician.setEmail("test@domian.com");
        physician.setSalutation("hello");
        physician.setMedicaidNumber("1234");
        physician.setMedicalNumber("5678");
        physician.setUpinNumer("9955");
        physician.setStateLicence("125564");
        physician.setNpi("58282");

        return physician;
    }

    private static class Physician {
        private String firstName;
        private String middleName;
        private String lastName;
        private String medicalDegree;
        private String phoneNumber;
        private String email;
        private String salutation;
        private String medicalNumber;
        private String medicaidNumber;
        private String upinNumer;
        private String stateLicence;
        private String npi;

        public String getFirstName() {
            return firstName;
        }

        public void setFirstName(String firstName) {
            this.firstName = firstName;
        }

        public String getMiddleName() {
            return middleName;
        }

        public void setMiddleName(String middleName) {
            this.middleName = middleName;
        }

        public String getLastName() {
            return lastName;
        }

        public void setLastName(String lastName) {
            this.lastName = lastName;
        }

        public String getMedicalDegree() {
            return medicalDegree;
        }

        public void setMedicalDegree(String medicalDegree) {
            this.medicalDegree = medicalDegree;
        }

        public String getPhoneNumber() {
            return phoneNumber;
        }

        public void setPhoneNumber(String phoneNumber) {
            this.phoneNumber = phoneNumber;
        }

        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }

        public String getSalutation() {
            return salutation;
        }

        public void setSalutation(String salutation) {
            this.salutation = salutation;
        }

        public String getMedicalNumber() {
            return medicalNumber;
        }

        public void setMedicalNumber(String medicalNumber) {
            this.medicalNumber = medicalNumber;
        }

        public String getMedicaidNumber() {
            return medicaidNumber;
        }

        public void setMedicaidNumber(String medicaidNumber) {
            this.medicaidNumber = medicaidNumber;
        }

        public String getUpinNumer() {
            return upinNumer;
        }

        public void setUpinNumer(String upinNumer) {
            this.upinNumer = upinNumer;
        }

        public String getStateLicence() {
            return stateLicence;
        }

        public void setStateLicence(String stateLicence) {
            this.stateLicence = stateLicence;
        }

        public String getNpi() {
            return npi;
        }

        public void setNpi(String npi) {
            this.npi = npi;
        }
    }
}