Selenium – pierwsze wrażenia ze współpracy

Witajcie w Nowym Roku 2017!

Dziś wpis poświęcony Selenium WebDriver. Dotychczas nie miałam okazji współpracować oficjalnie z tym najpopularniejszym obecnie frameworkiem do testów automatycznych. Nieoficjalnie łączył nas kiedyś krótki romans, który został przerwany przez programowanie w Javie;)

Obecnie z przyjemnością uczę się tego narzędzia tworząc prosty skrypt do automatyzacji aplikacji sklepu opencart,

Oczywiście skrypty tworzę z wykorzystaniem Javy.

Pierwszą napotkaną trudnością okazała się poniższa lista:

 

Po krótkim szukaniu i kombinowaniu udało się wypracować poniższe rozwiązanie:

private MainPage setState() {
    WebElement webElement = driver.findElement(byFieldState);
    webElement.click();
    Select select = new Select(webElement);
    List<String> listText = select.getOptions().stream()
            .map(element -> element.getText()).collect(Collectors.toList());
    select.selectByIndex(listText.indexOf(RegisterData.STATE));
    webElement.sendKeys(Keys.ENTER);
    return new MainPage(driver);
}

Kliknięcie w listę na początku i na końcu wynika z aplikacji.

Na pewno można to rozwiązać na więcej sposobów. Jak Wy byście podeszli do tego zagadnienia?

 

Wszystkiego najlepszego w Nowym Roku!

Do kolejnego posta:)

2 thoughts on “Selenium – pierwsze wrażenia ze współpracy

  1. Witaj kodująca testerko,
    ten romans wciąż trwa – wciąż piszesz w javie :-).

    Jeśli chodzi o alternatywne rozwiązanie – dobrze kombinujesz z selectem, ale czy tego samego nie można osiągnąć krócej?:

    Select countryList = new Select( driver.findElement( By.id(„OBJECT_ID”) ) );
    countryList.selectByVisibleText(„Poland”);

    Trochę zgadywane, szkoda że nie zamieściłaś jak owa lista wygląda po stronie htmla.
    Powodzenia!

    1. Witaj;)
      Zdanie o romansie dotyczyło Selenium, nie Javy.
      Teoretycznie powinno zadziałać tak jak napisałeś (linijka z selectem na pewno).
      W przypadku regionu (czyli województwa) nie działała mi opcja z selectByVisibleText. Podobnie była konieczność kliknięcia w listę, żeby móc cokolwiek zaznaczyć.

      Dziękuję za komentarz:)
      Pozdrawiam

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *