Java Selenide: Как использовать аннотацию @Setter для добавления String в xpath - PullRequest
0 голосов
/ 11 марта 2020

Мне нужно найти элемент по xpath, но некоторая часть xpath всегда меняется, и мне нужно добавить его непосредственно во время теста. Если я добавляю аннотацию @Setter к своему элементу Selenide и пытаюсь установить новый xpath с помощью String, я всегда получаю сообщение об ошибке, что я могу пропустить только элемент Selenide. Как мне это сделать?

 String test;
    @Setter
    @FindBy(xpath = "//div[contains(text(),"+test+"]")
    private
    SelenideElement orgCard;

И здесь я пытаюсь передать строку в xpath:

public static void setXpath( String orgName){

     OrganizationsPage.getInstance().setTest("//div[contains(text()," + orgName + "']");

  }  

1 Ответ

0 голосов
/ 15 марта 2020

Вы можете написать метод и передать ему необходимый аргумент:

public SelenideElement whatever(String orgCard) {
    return $x("//div[contains(text()," + orgCard + "]");
}

Но я также предлагаю взглянуть на некоторые примеры, например: https://github.com/selenide-examples/google

...