Я хотел бы создать метод в селене, используя PageFactory, в который я могу ввести динамический c (переменная) в xpath.
Ниже приведен класс, который я создал:
public class SelectingAnOrder {
WebDriver driver;
public SelectingAnOrder(){
this.driver = driver;
}
// @FindBy(xpath = "(//td[contains(@class,'kPWJZB')])[5]")")
// WebElement FindAnOrder;
public WebElement SelectingAnOrder_selection(int var){
WebElement FindAnOrder = driver.findElement(By.xpath("(//td[contains(@class,'kPWJZB')])["+var+"]"));
FindAnOrder.click();
}
}
Мне известно об использовании @FindBy (xpath = (// td [содержит (@ класс, 'kPWJZB')]) [ 5] ")) в самом классе, но я не могу понять, как вводить переменную в @ FindBy.
Переменная названа как" var ", которую я хочу сделать динамически c и хотел бы иметь возможность ввода любого целого числа во время выполнения контрольного примера.
Мой контрольный пример выглядит следующим образом:
WebDriver driver = DriverSetup.Driver_Setup("https://gdc1tatcweb001.../orders");
SelectingAnOrder PickingAnOder = PageFactory.initElements(driver, SelectingAnOrder.class)
PickingAnOder.SelectingAnOrder_selection();
Во время выполнения теста я получаю ошибка ниже. Невозможно вызвать метод findElement () для нулевого объекта
Может кто-нибудь помочь с использованием динамического c xpath в селене с использованием PageFactory? Я открыт для любых других способов или методов для реализации того же самого.