2011-04-14 16 views
5

FF Selenium IDE eklentisini kullanarak bir sayfayı test etmeye çalışıyorum.Selenium IDE - JQuery onclick işleyicisi tetiklenmiyor

aşağıdaki gibi bir menü yapısı vardır ..

<ul class="parent"> 
    <li class="child"><span><a href="something.html">link text</a></span></li> 
    <li class="child"><span><a href="somethingelse.html">other text</a></span></li> 
<ul> 

li elemanları kendilerine bağlı bir vurgulu olay var. Bu vurgulu etkinlikler, gerçek bağlantı etiketinde bir tıklama olayı kaydeder. Ben şu bağlantılardan birini sonra işleyici çağrılacak beklenir tıklayın selenyum kullanılarak

var menu = $('ul.parent'); 

    $("> li.child", menu).hover(function() { 

    $(this).find('> a').click(function() {    
     $(this).parent().addClass('active-trail'); 
     return false; 
    }); 
    }, function() {}); 

Eğer (Ben basitleştirme için JavaScript bazılarını çalmıştır). Değil ve tıklama basitçe yürütülür (ve false yerine iade edilen bağlantı).

I (diğer cevapları okuduktan sonra) denedim mouseUp ve mouseDown. Ayrıca FireEvent'i kullanarak, öncelikle (vurgulu olayı etkinleştirmek için) li'nin üzerine geldikten sonra bağlantı noktasını tıklatmak için başka bir ateşe alıp kullanmayı denedim .. ama bu da işe yaramadı.

Herhangi bir yardım en çok takdir edilecektir. Bir jQuery tarafından sağlanan tıklama işleyicisini tetiklemek için Selenium kullanmanın sadece temel bir kanıtı, beni doğru görmek için yeterli olacaktır!

sayesinde Patrick.

cevap

2

Sen bunu doğru kullandığınız emin sağ fireEvent() ile olan vardır?

onClick işleyicisini kovmak isterseniz, ürününü fireEvent(locator, "onClick") yapmazsınız. Eğer komut dosyaları oluşturmak için selenyum IDE kullanıyorsanız

Muhtemelen bunu yapıyorsunuz.

Selenyum bu alanda, birçok benzer sorunlar vardı biraz dodgey.

+0

Evet, kesinlikle "vurgulu" ve "tıklama" işleyicileri olarak kullanıyor. Bilinmesi iyi doğru alana bakıyorum! –

+0

Selenium ile gezinmenin tıklamaya çalışmasına izin vermeden önce yürütmesini beklemeyecek bir şey olabilir, iki komut arasında bir bekleme eklemeyi deneyin. – Tnem

+0

Duraklatmayı denedim ama fark yaratmadı. İlginç bir şekilde, sayfayı yüklerseniz, fareyi öğenin üzerine getirin (etkin olarak el ile tetikleyiciyi tetikleyin) ve sonra bir tıklama etkinliği çalıştırın - sonra menü görünecektir. –

1

Eğer xpath kullanarak denediniz yani

selenium.Click ("xpath =/torun :: li [içermektedir (." Bir şey ")] [2]/x: a")

İlgili konular