2016-04-13 14 views
0

Bu site numaralı belgede, javascript kullanarak bozuk görüntüleri test etmenin mümkün olduğunu ancak sağlanan örneğin Ruby dilinde olduğunu gördüm. Selenium IDE'de runScript komutunu kullanabileceğimi ve nasıl olduğunu bilmeme rağmen bozuk görüntüleri algılayacak bir javascript kodu oluşturabileceğimi düşünüyorum.Selenium IDE kullanarak bozuk görüntüleri nasıl test edebilirim?

Birisi bunu yapmak için bir kod sağlayabilir mi? Her türlü yardım takdir edilecektir.

cevap

2

Bu normal bir şey değil ama mümkün.

Kontrol şuna:

Bir javascript kodu sonucunu doğrulamak için verifyEval komutunu kullanabilirsiniz. Ayrıca bazı javascript yapmak ve sonucu almak ve daha sonra kullanmak için storeEval kullanabilirsiniz. Ayrıca sadece javascript yapmak istiyorsanız getEval'u da yapabilirsiniz.

Yani sayfada en az bir bozuk resim varsa başarısız istiyorsanız yapın:

Komuta

verifyEval 

Hedef

var allImg=window.document.getElementsByTagName("img"), i=0, img, result=true; 
while (img = allImg[i++]) 
    {if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0) 
    {} 
    else 
    {result=false;}}; 
result; 

Değer

Ya da örnek olarak tüm kırık normal resimlerini saymak için işaretleyebilirsiniz.

storeXpathCount | //img          | all 
storeXpathCount | //img[@tag='broken']       | broken 
verifyEval  | storedVars['broken']*100/storedVars['all']>5 | true 
: Burada sayfadaki resimlerin% 5'inden fazlası ardından

var allImg=window.document.getElementsByTagName("img"), i=0, img; 
while (img = allImg[i++]) 
    {if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0) 
    {img.setAttribute('tag','passed');} 
    else 
    {img.setAttribute('tag','broken');}}; 

Ve

Komuta

getEval 

Hedef kırık olup olmadığını başarısız olur bir örnektir

İyi şanslar!

+0

Teşekkürler! Bu hemen hemen sorumu yanıtladı. –

+0

Bunu bir kullanıcı uzantısı js haline getirmek mümkün mü? Eğer öyleyse, bunu nasıl yaparım? –

+0

Elbette ki bu mümkün. Ama bu başka bir soru :). bir göz atın burada http://www.codediesel.com/testing/adding-custom-commands-to-the-selenium-ide/ – Antesser

İlgili konular