AJAX tipi operasyonla uğraşırken waitForPageToLoad için selenyum alternatifi

Kodumda bazı birim testleri yapıyorum ve bunun için selenum sunucusunu indirmek zorunda kaldım. Şimdi, selenium örneklerinden biri GoogleTest denir. Bunu C: \ klasörüne kopyaladım ve çalıştırmayı denedim.

İlk başta, firefox'u açmaya çalışırken bir hatam oldu. Firefox sürüm 3.5'e kadar desteklediğinden selenyumun bir süredir güncellenmediğini düşünüyor. Bulunan bu bana yardımcı olan faydalı blog (3.5. * for 7.0. *).

Şimdi yeni bir problemim var. Görünüşe göre, selenium dokümanlarını da güncellemedi ve GoogleTest çalıştırıldığında kilitleniyor ( this gönderi nedenini açıklar). AJAX tipi işlemleri kullanırken, waitForPageToLoad işlemi askıda kalıyor.

Şimdi, bu operasyona eşdeğer bir aparata ihtiyacım var ama AJAX operasyonları ile uğraşırken .. herkes bir alternatif biliyor mu? Teşekkürler

1
Bundan sonra Selenium versiyonumu kontrol etmeye karar verdim. En son sürümün olduğuna inanıyorum, ancak version.txt dokümanım aksini söylüyor (selenium.rc.version = 1.0.1). En son olanı indirmeyi deneyeceğim ve çalışıp çalışmadığını kontrol edeceğim. Teşekkürler!
katma yazar Soph, kaynak
Selenium 2.0 sürümünü kullanmaya çalışan bazı problemlerle karşılaştım, buraya başka bir soru yolladım ( stackoverflow.com/questions/7947773/… ). Bununla bana yardımcı olursan, harika!
katma yazar Soph, kaynak
Hangi selenyum sürümünü kullanıyorsunuz? Elbette, 2.0 bu konuya sahip değil. Alternatif arıyorsanız, Sahi'yi kontrol ettiniz mi?
katma yazar Pavan, kaynak

3 cevap

Eskiden ISFW ile denediniz mi? Dahili olarak, eleman için bekler ve dojo, extjs, prototip vb. Js araç seti için tamamlanacak ajax için bekleme işlevselliği sağlar.

Örneğin, AUTO extjs kullanıyorsa,

waitService.waitForAjaxToComplete(JsToolkit.EXTJS);
2
katma

Selenium'da waitforajaxtoreturn fonksiyonu yoktur. AJAX değişikliklerinin işlenme şekli, AJAX çağrısı döndüğünde belirli bir koşulun gerçekleşmesini beklemek için WebDriverWait sınıfını kullanmaktır.

Örneğin, Google testi için WebDriverWait , arama kabının görünmesini bekleyebilir.

Özünde, sınava devam etmek için ne beklediğini bilmek zorundasın.

0
katma

Bazı ajax ve JS ağır sayfalarını test ediyorum ve tam olarak aynı problemle karşı karşıya kaldım. Yeni içeriği DOM'a yüklemek ve yüklemek için ajax kodunu duraklatmak için örtülü beklemeler kullanmıştım. İşte kodumdan bir python örneği:

from selenium import webdriver
browserHandle = webdriver.Firefox()
browserHandle.implicitly_wait(10)
## assuming dom object loads in 10 seconds
## clear implicit wait
browserHandle.implicitly_wait(0)
0
katma