Değişkenleri, Yankıyı, Uyarıyı, Açılır Pencereyi işlemeyi depolayın Selenium IDE
⚡ Akıllı Özet
Komutları sakla Selenium IDE, çalışma zamanı değerlerini adlandırılmış değişkenlere kaydeder, echo komutu bunları günlüğe yazdırır ve özel bir komut ailesi uyarıları, onay iletişim kutularını ve birden fazla tarayıcı penceresi arasında geçişi yönetir.

Bu eğitimde, store komutlarını, echo komutunu ve alert ve popup işlemlerini nasıl yöneteceğinizi öğreneceksiniz. Selenium IDEBu komutlar birlikte, önceden kaydedilmiş sabit bir betiği, uygulamanın çalışma zamanında döndürdüğü her şeye tepki veren bir betiğe dönüştürür.
⚠️ Sürümlerle ilgili bir not: Aşağıdaki ekran görüntüleri orijinalinden alınmıştır. Firefox-Eklenti Selenium IDE ve komutlar camelCase Selenese adlarını kullanır. Mevcut Chrome, Firefox Edge uzantısı da aynı davranışı koruyor ancak komut adlarının çoğunu boşluklarla yazıyor. Bir haritaping Tablo bu makalenin sonuna doğru yer almaktadır ve her orijinal komut ve ekran görüntüsü yayınlandığı gibi korunmuştur.
Selenium IDE Değişkenleri
mağaza
Değişkenleri saklamak için Selenium IDE'yi kullanıyoruz. mağaza Aşağıdaki örnekte gösterildiği gibi, komut "tutorial" değerini "myVariable" adlı bir değişkene kaydeder.
Değişkene erişmek için, onu ${ … } sembolü içine almanız yeterlidir. Örneğin, “myVariable” değişkeninin değerini “userName” metin kutusuna girmek için: Mercury Turlar, Değer alanına ${myVariable} girin.
Yankı Komutu Selenium IDE
Kaydedilmiş bir değişken, bir şey onu yazdırana kadar görünmezdir ve işte tam olarak bu yüzden görünmezdir. kaçırmak Bu komut, oynatma sırasında IDE günlük bölmesine bir mesaj yazar; bu da, üzerine doğrulama ifadeleri eklemeden önce, bir depolama komutunun beklediğiniz sonucu yakaladığını doğrulamanın en hızlı yoludur.
Komut her iki biçimi de kabul eder:
- Kelime kelime bir dize. Metni şuraya yerleştirin: Target örneğin alan Giriş işlemi tamamlandıUzun bir metinde bir kontrol noktasını işaretlemek için.
- Bir değişken. ${myVariable}'ı içine koyun Target Alan ve kaydedilen değer, isim yerine yazdırılır.
İki alışkanlık, echo komutunu ilk bakışta göründüğünden çok daha kullanışlı hale getiriyor. Bir değişkeni oluşturan store komutundan hemen sonra yazdırın, böylece bir hata oluşursa bu hata fark edilmez. tracYirmi adım sonraki doğrulamaya değil, yakalamaya odaklanın. Ve her mesajın başına ait olduğu adımı ekleyin, çünkü günlük bölmesi her komutu tek bir düz listede gösterir. Echo komutunun yalnızca günlüğe yazdığını, sayfayı asla değiştirmediğini ve hiçbir zaman bir testi başarısız kılmadığını unutmayın, bu nedenle bir betikte kalıcı olarak bırakmak güvenlidir.
StoreElementPresent
Bu komut, belirtilen öğenin varlığına bağlı olarak "true" veya "false" değerini saklar. Aşağıdaki kod, "true" Boolean değerini "var1" değişkenine, "false" değerini ise "var2" değişkenine kaydeder. Doğrulamak için, var1 ve var2 değişkenlerinin değerlerini görüntülemek üzere echo komutunu kullanacağız. Temel URL Aşağıdaki resim için ayar şu şekildeydi: Mercury Turlar ana sayfası.
StoreText
Bu komut, bir öğenin iç metnini bir değişkene kaydetmek için kullanılır. Aşağıdaki örnekte, Facebook kayıt sayfasındaki h1 etiketinin iç metni "textVar" adlı bir değişkene kaydedilir.
Sayfada türünün tek örneği olduğu için, hedef olarak “css=h1” kullanmak güvenlidir. Aşağıdaki resim bunu göstermektedir. Selenium IDE, "Sign Up" dizesini "textVar" değişkenine kaydedebildi çünkü echo komutu değerini doğru bir şekilde yazdırdı.
Uyarılar, Açılan Pencereler ve Çoklu Windows
Bildirimler muhtemelen açılır pencerelerin en basit biçimidir. En yaygın olanı Selenium Uyarıların işlenmesinde kullanılan IDE komutları şunlardır:
| Uyarılar | Kullanımlar |
|---|---|
|
iddiaUyarı iddiaNotAlert |
Uyarı mesajını alır ve belirttiğiniz bir dize değeriyle karşılaştırır. |
|
iddiaAlertPresent iddiaAlertNotPresent |
Bir uyarı olup olmadığını belirtir. |
| Mağaza Uyarısı | Uyarı mesajını alır ve belirttiğiniz bir değişkene kaydeder. |
| mağazaAlertPresent | Bir uyarı varsa TRUE, yoksa FALSE döndürür. |
|
Doğrulama Uyarısı DoğrulamaNotAlert |
Uyarı mesajını alır ve belirttiğiniz dize değeriyle eşit olup olmadığını doğrular. |
|
DoğrulamaAlertPresent doğrulamaAlertNotPresent |
Bir uyarı olup olmadığını doğrular. |
Uyarılarla çalışırken şu iki şeyi unutmayın:
- Selenium IDE, uyarı penceresindeki Tamam düğmesine otomatik olarak tıklar, bu nedenle gerçek uyarıyı göremezsiniz.
- Selenium IDE, sayfanın onload() fonksiyonu içinde tetiklenen uyarıları işleyemez. Yalnızca sayfa tamamen yüklendikten sonra oluşturulan uyarıları işler.
Bu örnekte, storeAlert komutunu kullanarak, bir ürünün çalışır durumda olmasına rağmen, bir uyarı mesajı göstereceğimizi bildiriyoruz. Selenium IDE, uyarıyı ekranda göstermese de mesajı yine de almayı başardı.
) 1 Adım In Selenium IDE, Base'i ayarla URL http://jsbin.com adresine. Tamamı URL Bu, http://jsbin.com/usidix adresidir. Bu jsbin kod parçacıkları şu tarihten kalmadır: Firefox-Eklenti dönemi sona erdi ve artık çözümlenemeyebilir; uyarı veren bir düğme içeren herhangi bir sayfa aynı sonucu verir.
) 2 Adım Aşağıda gösterildiği gibi betiği oluşturun. Tıklama komutu "Git!" düğmesini hedef alır, storeAlert mesajı alertMessage'a yakalar ve echo bunu yazdırır.
) 3 Adım Komut dosyasını çalıştırın ve gerçek uyarıyı görmeyi beklemeyin. Aşağıdaki günlük bölmesi, diyalog hiç görünmese bile yakalanan mesajı gösterir.
Onaylar
Onaylar, yalnızca Tamam düğmesini veren uyarıların aksine, size Tamam ve İptal düğmelerini sunan açılır pencerelerdir. Onayları işlerken kullanabileceğiniz komutlar, uyarı komutlarıyla aynıdır.
- Onaylama / Onaylamama
- assertConfirmationPresent / assertConfirmationNotPresent
- mağazaOnay
- mağazaOnayMevcut
- Doğrulama Onay / Doğrulama Değil
- verifyConfirmationPresent / verifyConfirmationNotPresent
Ek olarak, bu komutlar şunları söyler: Selenium Tamam mı yoksa İptal mi düğmesini seçmelisiniz?
- chooseOkOnNextConfirmation / chooseOkOnNextConfirmationAndWait
- SonrakiOnayda İptal Et'i seçin
Bu komutları yerleştirin. önce Onay kutusunu tetikleyen komut, böylece Selenium IDE, hangi seçeneği seçeceğini önceden bilir. Tekrar belirtmek gerekirse, komut dosyası yürütülürken gerçek onay kutusunu görmeyeceksiniz.
Kullanıcının Tamam veya İptal düğmesine basıp basmadığını bildiren bir düğme içeren bir web sayfasını test edelim.
) 1 Adım In Selenium IDE, Base'i ayarla URL http://jsbin.com adresine. Tamamı URL http://jsbin.com/enifaf.
) 2 Adım Aşağıda gösterildiği gibi betiği oluşturun. Bu sefer önce Tamam düğmesine basacağız.
) 3 Adım Komut dosyasını çalıştırın ve gerçek onay mesajını görmediğinizi, ancak web sayfasının yine de hangi düğmeye basıldığını bildirdiğini fark edin. Selenium IDE'ye basıldı.
) 4 Adım `chooseOkOnNextConfirmation` komutunu `chooseCancelOnNextConfirmation` ile değiştirin ve betiği tekrar çalıştırın. Sayfa artık ters seçeneği bildirecektir.
Çoklu Windows
Ayrı bir pencere açan bir bağlantıya tıklarsanız, öncelikle talimat vermeniz gerekir. Selenium IDE'de, içindeki öğelere erişmeden önce o pencereyi seçmeniz gerekir. Eski IDE'lerde, pencerenin başlığını konum belirleyici olarak kullanırsınız.
Pencereler arasında geçiş yapmak için selectWindow komutunu kullanıyoruz.
http://jsbin.com/ocinaj/1 bağlantısını kullanacağız, başlığı “İlk Pencere”. Bu sayfadaki “burada” bağlantısı Facebook'u yeni bir pencerede açıyor, ardından talimatları veriyoruz. Selenium Aşağıdakileri yapmak için IDE:
- selectWindow komutunu pencere başlığını konum belirleyici olarak kullanarak, üst pencereden yeni açılan Facebook penceresine kontrolü aktarın.
- Yeni pencerenin başlığını doğrulayın.
- Hedef olarak “null” değerini kullanarak selectWindow komutuyla orijinal pencereyi tekrar seçin.
- Şu anda seçili olan pencerenin başlığını doğrulayın.
Yukarıdaki plan, burada gösterilen dört adımlı sıraya dönüşmektedir.
) 1 Adım Tabanı Ayarla URL http://jsbin.com adresine.
) 2 Adım Komut dosyasını aşağıda gösterildiği gibi oluşturun.
Yeni açılan pencerenin yüklenmesini beklemek için duraklatma komutuna ihtiyacımız var, ancak ondan sonra başlığını okuyabileceğiz.
) 3 Adım Komut dosyasını yürütün. Şuna dikkat edin: test durumu Başarılı oldu, yani pencereler arasında geçiş yapabildik ve başlıklarını başarıyla doğrulayabildik.
Her zaman şunu unutmayın: selectWindow hedefi olarak "null" değerini ayarlamak, otomatik olarak üst pencereyi seçer; bu durumda "link=here" öğesinin bulunduğu pencereyi seçer.
Not: Bu eğitim videosu oluşturulduktan sonra Facebook sayfa başlığını değiştirdi. Lütfen komut dosyasındaki beklenen başlığı buna göre değiştirin.
Modern Selenium Bu komutların IDE karşılıkları
MKS Firefox-IDE eklentisi kullanımdan kaldırıldı Firefox WebExtensions mimarisine geçildi ve mevcut Chrome, Firefox Edge uzantısı, Selenese komutlarının çoğunu aralıklı bir forma dönüştürdü. Davranış değişmedi, bu nedenle aşağıdaki tablo, yukarıdaki komut dosyalarını mevcut bir kurulumda okumak için ihtiyacınız olan her şeyi içeriyor.
| Bu eğitimde eski komutlar kullanılmaktadır. | akım Selenium IDE komutu |
|---|---|
| mağaza | mağaza |
| kaçırmak | kaçırmak |
| storeText | depo metni |
| storeElementPresent | Öğenin varlığını sakla (veya öğenin varlığını doğrula) |
| assertAlert / verifyAlert | uyarıyı doğrula / uyarıyı doğrula |
| chooseOkOnNextConfirmation | Sonraki onayda "Tamam"ı seçin. |
| SonrakiOnayda İptal Et'i seçin | Sonraki onayda iptal seçeneğini seçin. |
| selectWindow (başlık hedef olarak) | handle=${handle} olan pencereyi seçin |
İki önemli farka dikkat çekmekte fayda var. Önceki makalede yer almayan istemlerin artık kendi komutları var: Sonraki soruya cevap verin Diyalog görünmeden önce yanıtı planlar ve webdriver görünür istemde yanıt veriyor Zaten açık olan bir komut istemine yazı yazılır. Ve pencere değiştirme artık sayfa başlığına bağlı değildir. Çalıştır mağaza vitrin kolu Önce tutamağı yakala, sonra geçir. tutamaç=${tutucunuz} Pencereyi seçmek için. Bu değişiklik, yukarıdaki notta açıklanan, bir sitenin sayfasını yeniden adlandırması ve komut dosyasının pencereyi bulmayı bırakması durumunu ortadan kaldırır. Resmi Selenium IDE proje sitesi Geçerli komut kümesinin tamamını listeler.













