Не работает код автозаполнения - PullRequest
0 голосов
/ 18 февраля 2019

Я хочу проверить раздел автозаполнения expedia.com.У меня есть четыре страницы Java.DriverWapper, BasePage, HomePage и AutoPage.Я поделился страницами.Когда я проверяю код, он пишет «Нью-Йорк» в поле поиска, но после этого не пишет название соответствующего аэропорта, и проверка не проходит.Как мне это исправить?

DriverWrapperPage

public class DriverWrapper {

    private static WebDriver driver = null;
    private static final String url = "https://www.expedia.com/";

    @BeforeClass
    public void before() {

        //Set chromeDriver
        System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");

        //Initialize webDriver interface
        driver = new ChromeDriver( );


        //Navigate to url
        driver.navigate( ).to(url);

    }
    @AfterClass
    public void tearDown(){

        driver.quit();
    }

    public static WebDriver getDriver() {
        return driver;
    }

    public static String getUrl() {
        return url;
    }

}

Домашняя страница

public class HomePage extends BasePage {

    //Locators
    private By flightTabe = By.xpath(".//*[@id='tab-flight-tab-hp']");
    private By flightOrigin = By.xpath(".//*[@id='flight-origin-hp-flight']");
    private By results = By.className("results-item");


    //Constructors

    //Methods


    void flighttab() {autoCompeteStatus(flightTabe);}

    public void flightOrigin () {autoCompeteStatus(flightOrigin);}

    public void result() {stat(results);}

}

BasePage

public class BasePage {
    DriverWrapper driver = new DriverWrapper();

    public void clickOn(By locator) {

        DriverWrapper.getDriver( ).findElement(locator).click( );

    }

    public void setValue(String value, By locator) {
        DriverWrapper.getDriver( ).findElement(locator).sendKeys(value);

    }

    public String getTextFromElement(By locator) {

        return DriverWrapper.getDriver( ).findElement(locator).getText( );
    }

    public void autoCompeteStatus(By locator) {

        driver.getDriver( ).findElement(locator).click( );
        driver.getDriver( ).findElement(locator).sendKeys("NewYork");


        List<WebElement> list = DriverWrapper.getDriver( ).findElements(locator);
        for (WebElement ele : list) {
            if (ele.getText( ).contains("New York, NY (JFK-John F. Kennedy Intl.)")) {
                ele.click( );

                break;
            }

        }

    }

}

TestPage

@Test
    public static void aout() throws InterruptedException {

        HomePage home = new HomePage();
        home.flighttab();
        Thread.sleep(3000);


        home.result();
        Thread.sleep(3000);

        home.result();

Тест должен быть успешным ... но он не пройден

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...