Selenyum öğe bulunamadı

1 Cevap php

Firefox'ta bir web uygulamasının performansını kontrol etmek PHP bir Selenyum testi yazıyorum. Ben (vb JQuery, PHP 5.3, yükseltme) farklı performans geliştirmeleri karşılaştırmak için bir taban hattı olarak kullanmak istiyor. Web uygulama çok AJAX yoğun olduğu ve şimdiye kadar sadece bir sorun haline çalıştırmak.

Varolan bir div içine içerik yükleyen bir AJAX çağrısı var. Çağrı ben kod aşağıdaki satırı kullanıyorum tam olup olmadığını test etmek için:

$selenium->waitForCondition('$(\'div[id="divId"]\').height() > 100', $timeout);

Bu beklediğim gibi çalışıyor, ancak ben div içine yüklenen herhangi bir giriş yazdığınız çalıştığınızda, selenyum hata "Eleman giriş [@ id =" inputId "] bulunamadı" atar.

Ben girişi için kimliği doğru olduğunu doğruladıktan ve ben div içine yüklenen ve bunların hiçbiri işe diğer giriş elemanları ile denedim. Ben de ben emin elemanları DOM ve ekranda olduğunu biliyorum böylece uyku (30) eklemek için çalıştılar, ama yine hiçbir fark yaptı.

Ben gerçekten bu noktada sıkışmış ve ben bu sorunu çözüldü almak kadar hareket edemez. Herhangi bir yardım büyük beğeni topluyor.

Thanks, James Armes

1 Cevap

Ben bir kaç şey bakmak istiyorum:

  1. Öğeleri yüklenen önce karşı kontrol ediyoruz koşul doğru değildir emin olun. Denetleme height, örneğin, şüpheli görünüyor - div içinde mevcut herhangi bir çocuk varsa onu test etmek daha iyi olmaz mıydı?

  2. Eğer seçici yazmak nasıl bağlı, Selenyum input[@id='inputId'] seçici için asıl tanımlayıcı olduğunu düşünüyor olabilir (ve sadece inputId). Bu durumda olmadığından emin olun. Bir tanımlayıcı beri yeterli olmalıdır, sadece inputId kullanmayı deneyin.

  3. Selenyum titiz olabilir. Farklı sonuçlar elde görmek için farklı tarayıcıları deneyin. Eğer öyleyse, o Selenyum iyi kaplama değil ki bir alanı temsil edebilir. Bu seyrek genellikle azdır ve olsa da, bu mümkün. Bu durumda olduğundan emin olun ama önce biz daha fazla kod görmem gerekiyor.