我正在自动化一个基本上有一个按钮的网页,每次按下该按钮都会创建一个新的文本字段。 我正在使用带有PageFactory的FindBy注释来查找文本字段列表。
当我多次按下按钮时出现同步问题,从而创建了几个文本字段,然后尝试写入其中一个。单步执行调试器它可以正常工作,但在调试器之外,FindBy找到所有文本字段之前会有一段延迟。 我当前的解决方法执行睡眠,直到找到所需数量的文本字段,但我发现这非常不令人满意。有关如何最好地完成同步的任何建议吗?
@FindBy(how= How.XPATH, using="//*[contains(@id, 'TextField')]")
private List<WebElement> textFields;
:
:
public void enterText(Integer index, String text){
int attempts = 0;
// Check every 10th of a second for 10 seconds if all the textFields have been found
while ((textFields.size() <= index) && attempts < 100){
Thread.sleep(100);
}
textFields.get(index).sendKeys("blah blah");
}