2012-04-11 7 views
5

Siteyi selenium webdriver (java) kullanarak test etmek istiyorum, ancak bu site ajax içeriyor ve HTMLUnit ajax içeriğini görmüyor.WebDeri HTMLUniteyle ilgili sorunları Ajax ile

Bir çözüm var mı?

Örnek: ajax bir yanıt alındıktan sonra görünmelidir ile elemanı ile etkileşime girmeden önce

WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6); 
//login into your account 
this.login(driver); 
//click on edit Profile Link into an ajax-loaded tab 
driver.findElement(By.id("editProfile")).click(); 
//Result: org.openqa.selenium.NoSuchElementException 
+0

HTMLUnitDriver javascript desteği kişisel deneyimimden oldukça kötüydü ve öykünme daha da kötü. Ne algılayabileceğinden daha fazla hata tanıttığından regresyon testleri için kullanmayı bıraktım :( –

cevap

5

kullanımı bekleme durumu.

WebDriverWait wait = new WebDriverWait(webDriver, 5); 
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath_to_element"))); 

bu, webDriver öğesinin 5 saniye boyunca öğenizi beklemesini sağlar. Bu soru daha önce sorulmuştur.

+0

Sorun WebDriver'ın kendisi üzerinde odaklanmamış, ajax ile HtmlUnitDriver üzerinde odaklanmış ... – Krzys

+2

WebDriver bir arabirimdir. HtmlUnitDriver ve vb. onun uygulamaları ... Aynı şekilde çalışıyor, bunun için endişelenme. –