Temel olarak, her basıldığında, yeni bir metin alanı oluşturan bir düğme içeren bir web sayfasını otomatikleştiriyorum. Metin alanları listesini bulmak için PageFactory ile FindBy açıklamasını kullanıyorum.Selenium WebDriver ile elemanların beklenmesi
Düğmeye birkaç kez bastığımda, birkaç metin alanı oluşturduğumda ve bunlardan birine yazmayı denediğimde bir senkronizasyon sorunum var. Hata ayıklayıcıya adım atmak iyi çalışıyor, ancak hata ayıklayıcısında FindBy'nin tüm metin alanlarını bulması için bir gecikme var. Geçerli geçici çözümüm gereken sayıda metin alanı bulunana kadar uykuyu gerçekleştirir ancak bu oldukça yetersiz buluyorum. Senkronizasyonun nasıl en iyi şekilde yapılabileceği hakkında herhangi bir öneriniz var mı?
@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");
}
bu http://www.obeythetestinggoat.com/how-to-get-selenium-to-wait-for-page-load-after-a-click.html bakın – dnit13