Selenium IDE Eğitimi

⚡ Akıllı Özet

Selenium IDE, kayıt ve oynatma aracıdır. Selenium prototip için inşa edilmiş süitping Büyük test paketlerini sürdürmek yerine testler yapar ve panelleri her Selenese komutunun kaydedilmesi, düzenlenmesi, çalıştırılması ve incelenmesini kapsar.

  • 🔘 Amaç: IDE, tarayıcı eylemlerini Selenese komutları olarak kaydeder ve herhangi bir programlama gerektirmeden bunları yeniden oynatır.
  • ☑️ Dürbün: Bunu bir prototip olarak değerlendirin.ping Aracı kullanın, ardından sürdürülebilir bir çerçeve için betiği dışa aktarın.
  • ✅ Menü çubuğu: Dosya tanıtıcıları oluşturma, açma, kaydetme ve dışa aktarma işlemlerini gerçekleştirir; Düzenle ise yeni komutlar ve yorumlar ekler.
  • 🧪 Seçenekler: Seçenekler iletişim kutusu, varsayılan zaman aşımını ve temel değeri ayarlar. URL davranış ve konum belirleyici oluşturma sırası.
  • ️ Editör: Tablo Görünümü, komutların, hedeflerin ve değerlerin girildiği yerdir; Kaynak Görünümü ise aynı betiği biçimlendirme olarak gösterir.
  • 📊 Geri bildirim panelleri: Günlük Bölmesi Hata Ayıklama, Bilgi, Uyarı ve Hata mesajlarını gösterirken, Referans Bölmesi seçilen komutu açıklar.
  • ???? Bugün: Şu an kullanılan IDE Chrome'dur. Firefox ve projeleri tek bir .side dosyası olarak kaydeden Edge uzantısı.

Selenium IDE'nin panellerini, menülerini ve araç çubuğunu kapsayan eğitim videosu.

Nedir? Selenium IDE?

Selenium IDE (Entegre Geliştirme Ortamı), piyasadaki en basit araçtır. Selenium Süit. Bu bir Firefox Kayıt ve oynatma işlevi sayesinde testleri çok hızlı bir şekilde oluşturan bir eklenti. Bu özellik, şuna benzer: QTPKurulumu zahmetsiz ve öğrenmesi kolaydır.

⚠️ Sürümlerle ilgili bir not: the Firefox Bu makalede resimleri gösterilen eklenti kullanımdan kaldırılmıştır. Araç, Chrome eklentisi olarak varlığını sürdürmektedir. Firefox ve Edge tarayıcı uzantısı Kayıt ve oynatma işlevini koruyan ancak arayüzü yeniden düzenleyen ve projeyi tek bir dosya olarak kaydeden bir sürüm. .side Dosya. Aşağıdaki her orijinal ekran görüntüsü ve ayar, yayınlandığı gibi korunmuştur.

Sadeliği nedeniyle, Selenium IDE yalnızca prototip olarak kullanılmalıdır.ping bir araç, geliştirme için genel bir çözüm değil.ping ve karmaşık test paketlerinin sürdürülmesi.

Gerçi sen de kullanabileceksin Selenium IDE programlama konusunda önceden bilgi sahibi değilseniz, en azından HTML'ye aşina olmalısınız, JavaSenaryove bu aracı tüm potansiyelinden yararlanmak için DOM (Belge Nesne Modeli). bilgisi JavaSelenese komutu olan “runScript” bölümüne geldiğimizde betiğe ihtiyaç duyacağız.

Selenium IDE, testler oluştururken otomatik tamamlama modunu destekler. Bu özellik iki amaca hizmet eder:

  • Test cihazının komutları daha hızlı girmesine yardımcı olur.
  • Kullanıcının geçersiz komutlar girmesini kısıtlar.

Selenium IDE Özellikleri

Aşağıdaki etiketli ekran, bu makalenin geri kalanında bahsedilen her bölgeyi tanımlar.

Selenium Menü çubuğu bulunan IDE penceresi, temel URL etiketli çubuk, araç çubuğu, test durumu bölmesi, düzenleyici ve günlük bölmesi

Menü çubuğu

IDE'nin en üst kısmında yer alır. En sık kullanılan menüler Dosya, Düzenle ve Seçenekler menüleridir.

Dosya menüsü

  • Testleri oluşturma, açma, kaydetme ve kapatma seçeneklerini içerir.
  • Testler HTML formatında kaydedilir.
  • En kullanışlı seçenek "Dışa Aktar"dır çünkü bu seçenek, dosyalarınızı dışa aktarmanıza olanak tanır. Selenium IDE test senaryolarını çalışabilecek dosya formatlarına dönüştürün Selenium Uzaktan Kumanda ve Web Sürücüsü
  • “Test Durumunu Farklı Dışa Aktar…” seçeneği yalnızca şu anda açık olan test durumunu dışa aktaracaktır.
  • “Test Paketini Farklı Şekilde Dışa Aktar…” seçeneği, şu anda açık olan test paketindeki tüm test senaryolarını dışa aktaracaktır.

Aşağıdaki genişletilmiş Dosya menüsü, her iki dışa aktarma seçeneğini de yan yana gösterir.

Selenium IDE Dosya menüsü genişletildi ve Test Durumunu Farklı Dışa Aktar ve Test Paketini Farklı Dışa Aktar seçenekleri gösterildi.

  • Itibariyle Selenium IDE v1.9.1 sürümünde, test senaryoları yalnızca aşağıdaki formatlara dışa aktarılabilir:
    • .cs (C# kaynak kodu)
    • .java (Java kaynak kodu)
    • .py (Python kaynak kodu)
    • .rb (Ruby kaynak kodu)

Dışa aktarma işlemi, her Selenese satırını seçilen dildeki bir ifade olarak yeniden yazar; bu HTML'den-Java Karşılaştırma gösteriyor.

Selenese HTML test örneği, eşdeğer dışa aktarılan örneğin yanında gösterilmiştir. Java kaynak kodu

Not: Selenium Uzaktan kumanda kaldırıldı. Selenium 3. Bu nedenle, dışa aktarılan RC betiği artık çalışmıyor. Mevcut IDE bunun yerine WebDriver kodunu dışa aktarıyor.

Menü Düzenle

  • Geri Al, Yinele, Kes, Kopyala, Yapıştır, Sil ve Tümünü Seç gibi olağan seçenekleri içerir.
  • En önemli iki seçenek "Yeni Komut Ekle" ve "Yeni Yorum Ekle" seçenekleridir.

Selenium IDE Düzenleme menüsünde Yeni Komut Ekle ve Yeni Yorum Ekle seçenekleri vurgulanmıştır.

Yeni eklenen komut veya yorum, o anda seçili olan satırın üstüne yerleştirilecektir.

Seçilen satırın üstüne yeni bir komut eklemeden önce ve sonra düzenleyici ızgarası

  • Komutlar siyah renkte gösterilmiştir.
  • Yorumlar mor renkle gösterilmiştir.

Renk farkı, uzun bir metin içinde eklenen bir yorumu kolayca fark etmeyi sağlar.

Editör satırlarında mor yorum satırının yanında siyah bir Selenese komutu gösteriliyor.

Seçenekler menüsü

Çeşitli ayarları yapılandırmak için arayüz sağlar. Selenium IDE.

Seçenekler ve Pano Biçimi seçeneklerine odaklanacağız.

Pano Biçimi alt menüsü, mevcut tüm kod parçacığı biçimlerini listeler.

Pano Formatı

  • Panoya Kopyala Biçimi, Selenese komutlarını düzenleyiciden kopyalayıp kod parçacığı olarak yapıştırmanıza olanak tanır.
  • Kodun formatı, burada Pano Formatı listesinde seçtiğiniz seçeneğe uygundur.
  • HTML varsayılan seçimdir.

Örneğin, seçtiğinizde Java/JUnit 4/WebDriver'ı panonuzun formatı olarak kullanarak kopyaladığınız her Selenese komutu Selenium IDE'nin editörü şu şekilde yapıştırılacak: Java kod. Aşağıdaki resme bakın.

Editörden kopyalanıp yapıştırılan Selenese komutu. Java WebDriver ifadesi

Selenium IDE Seçenekleri iletişim kutusu

Başlatabilirsiniz Selenium IDE Seçenekleri iletişim kutusunu menü çubuğunda Seçenekler > Seçenekler… öğesine tıklayarak açın. Birçok ayar mevcut olsa da, biz birkaç önemli olana yoğunlaşacağız.

Selenium IDE Seçenekleri iletişim kutusu, zaman aşımı, uzantılar ve temel ayarları içerir. URL ve etiketlenmiş kayıt ayarları

  • Varsayılan Zaman Aşımı Değeri. Bu, şu zamana işaret eder: Selenium Hata oluşturmadan önce belirli bir öğenin görünmesini veya erişilebilir hale gelmesini beklemek zorundadır. Varsayılan zaman aşımı değeri 30000 ms'dir.
  • Selenium IDE uzantıları. Burada, genişletmek için kullanmak istediğiniz uzantıları belirtirsiniz. Selenium IDE'nin yetenekleri. Ziyaret edebilirsin addons.mozilla.org ve kullan "Selenium”Belirli uzantıları aramak için anahtar kelime olarak.
  • Üssü hatırlayın URL. İsterseniz bunu işaretli tutun Selenium Base'i hatırlamak için IDE URL Her başlattığınızda. Bu seçeneğin işaretini kaldırırsanız, Selenium IDE, Base için her zaman boş bir değerle başlatılacaktır. URL.
  • Otomatik başlatma kaydı. Bunu kontrol ederseniz, Selenium IDE, başlangıçta tarayıcı eylemlerinizi hemen kaydedecektir.
  • Konum belirleyici oluşturucular. Burada, kayıt sırasında konum belirleyicilerin oluşturulma sırasını belirtirsiniz. Konumlandırıcılar anlatmanın yolları vardır. Selenium Selenese komutunun hangi UI öğesine göre hareket etmesi gereken IDE. Aşağıdaki kurulumda, ID özelliğine sahip bir öğeye tıkladığınızda, listedeki ilk öğe “id” olduğundan o öğenin kimliği konum belirleyici olarak kullanılacaktır. Eğer bu elemanın ID özelliği yoksa, Selenium listede ikinci sırada yer aldığı için bundan sonra "name" niteliğini arayacaktır. Liste, uygun bir tane bulununcaya kadar uzayıp gider.

Bu listedeki bir öğeyi yukarı veya aşağı sürüklemek, kaydedicinin önce hangi özniteliğe erişeceğini değiştirir.

Kaydedicinin konum belirleyici oluştururken kullandığı öncelik sırasını gösteren konum belirleyici oluşturucular listesi.

baz URL Bar

Komut dosyasındaki her göreceli adres bu alana göre çözümlenir.

baz URL çubuğu Selenium IDE, test edilen uygulamanın adresini tutmaktadır.

  • Kolay erişim için önceki tüm değerleri hatırlayan bir açılır menüye sahiptir.
  • Selenese dilindeki "open" komutu sizi şuraya götürecektir: URL Temelde belirttiğiniz URL.
  • Bu eğitim serisinde kullanacağımız demo.guru99.com/test/newtours/ üssümüz olarak URLBurası, şu amaçla kullanılan sitedir: Mercury Burada web test amacıyla kullanılan bir demo web uygulaması olan Tours'u kullanacağız. Bu uygulamayı kullanacağız çünkü sonraki konular için ihtiyaç duyduğumuz tüm unsurları içeriyor.
  • Baz URL göreceli bilgilere erişimde çok faydalıdır. URLDiyelim ki üssünüz... URL ayarlandı Mercury Tur adresi yukarıdadır. "Aç" komutunu "kayıt ol" hedef değeriyle çalıştırdığınızda, Selenium IDE tarayıcıyı kayıt sayfasına yönlendirecektir. Aşağıdaki resme bakın.

Yapılandırılmış temel değere göre çözümlenen göreceli hedef kaydı ile komutu aç URL

Araç Çubuğu

Araç çubuğu, kayıt ve oynatma kontrollerini içerir. Her düğmenin işlevi aşağıda listelenmiştir.

Oynatma hızı kaydırıcısı Oynatma Hızı. Bu, test senaryonuzun yürütülme hızını kontrol eder.
Kaydet düğmesi Kayıt. Bu, kayıt oturumunuzu başlatır/sonlandırır. Her tarayıcı eylemi, düzenleyicide Selenese komutu olarak girilir.
Tüm test paketini oynat düğmesi Tüm test paketini oynat. Bu, Test Durumu Bölmesinde listelenen tüm test durumlarını sırayla oynatacaktır.
Geçerli test senaryosunu oynat düğmesi Geçerli test senaryosunu oynat. Bu, Test Senaryoları Bölmesinde yalnızca şu anda seçili olan test senaryosunu oynatacaktır.
Duraklat ve devam et düğmesi Duraklat/Devam Et. Bu, oynatmayı duraklatır veya devam ettirir.
Adım düğmesi Adım. Bu düğme, test betiğinizdeki her bir komutu adım adım incelemenizi sağlar.
Toplama kurallarını uygula düğmesi Toplu işlem kurallarını uygulayın. Bu gelişmiş bir işlevdir. Selenese komutlarını bir araya getirip tek bir işlem olarak yürütmenizi sağlar.

Test Senaryosu Bölmesi

Test senaryoları paneli, başarılı ve başarısız test senaryolarını renk kodlamasıyla ve çalıştırma özetiyle listeler.

  • In Selenium IDE ile aynı anda birden fazla test senaryosu açabilirsiniz.
  • Test senaryosu bölmesi, halihazırda açık olan test senaryolarının listesini gösterir.
  • Bir test paketini açtığınızda, test senaryosu bölmesi otomatik olarak paketin içerdiği tüm test senaryolarını listeleyecektir.
  • Kalın yazı tipiyle yazılan test senaryosu, şu anda seçili olan test senaryosudur.
  • Oynatma işleminden sonra, her test senaryosu başarılı olup olmadığını belirtmek için renk kodlarıyla gösterilir.
  • Yeşil renk “Geçti” anlamına gelir.
  • Kırmızı renk “Başarısız” anlamına gelir.
  • Alt kısımda çalıştırılan ve başarısız olan test senaryolarının sayısının bir özeti bulunur.

editör

Editörü, tüm işlemlerin gerçekleştiği yer olarak düşünebilirsiniz. İki görünümde mevcuttur: Tablo ve Kaynak.

Tablo görünümü

  • Çoğu zaman üzerinde çalışacaksınız Selenium IDE'de Tablo Görünümü kullanımı.
  • Selenese komutlarını burada oluşturabilir ve değiştirebilirsiniz.
  • Oynatma sonrasında her adım renk kodludur.

Oynatma sonrasında gerçekleştirilen adımların renk kodlarıyla gösterildiği tablo görünümündeki düzenleyici.

  • Adımlar oluşturmak için “Komut” metin kutusuna komutun adını yazın.
  • Bu, şu anda yazmakta olduğunuz girişe uyan komutların bulunduğu bir açılır liste görüntüler.ping.
  • Target bir komut için herhangi bir parametredir (kullanıcı adı, şifre gibi) ve Değer ise bunlar için giriş değeridir (tom, 123pass gibi) Targets.

Komuta, Target ve Değer alanlarının Selenium IDE tablo düzenleyici

Kaynak Görünümü

  • Adımları HTML (varsayılan) biçiminde görüntüler.
  • Ayrıca komut dosyanızı Tablo Görünümünde olduğu gibi düzenlemenize de olanak tanır.

Kaynak görünümündeki düzenleyici, aynı test senaryosunu HTML Selenese tablosu olarak gösteriyor.

Günlük Bölmesi

Günlük Bölmesi, yürütme sırasında çalışma zamanı mesajlarını görüntüler. Neler olup bittiğine dair gerçek zamanlı güncellemeler sağlar. Selenium IDE yapıyor.

Günlükler dört türe ayrılır:

  • Debug – Varsayılan olarak, hata ayıklama mesajları günlük panelinde görüntülenmez. Yalnızca filtrelediğinizde görünürler. Ne hakkında teknik bilgiler sağlarlar? Selenium IDE perde arkasında çalışıyor. Belirli bir modülün yükleme işlemini tamamladığı, belirli bir fonksiyonun çağrıldığı veya harici bir modülün çağrıldığı gibi mesajları görüntüleyebilir. JavaScript dosyası bir uzantı olarak yüklendi.
  • Bilgi – Hangi komut olduğunu söylüyor. Selenium IDE şu anda yürütülüyor.
  • Uyarmak – Bunlar özel durumlarda karşılaşılan uyarı mesajlarıdır.
  • Hata – Bunlar, şu durumlarda oluşturulan hata mesajlarıdır: Selenium IDE bir komutu yürütemezse veya belirtilen bir koşul karşılanmazsa “verify” veya “assert” komutu karşılanmıyor.

Günlük paneli açılır menüsünde Hata Ayıklama, Bilgi, Uyarı ve Hata mesajı türleri listelenir.

Günlükler türe göre filtrelenebilir. Örneğin, açılır listeden "Hata" seçeneğini seçerseniz, Günlük Bölmesi yalnızca hata mesajlarını gösterecektir.

Hata günlükleri filtrelendi, böylece yalnızca başarısız komut mesajları görünür kaldı.

Referans Bölmesi

Referans Paneli, Editörde şu anda seçili olan Selenese komutunun kısa bir açıklamasını gösterir. Ayrıca, bu komutta kullanılacak konum belirleyici ve değer hakkında da bilgi verir.

Seçilen Selenese komutunu hedef ve değer argümanlarıyla birlikte açıklayan referans paneli.

Kullanıcı Arayüzü Öğesi Bölmesi

UI-Element ileri düzey içindir Selenium kullanıcılar. Kullanır JavaÖğe eşlemesini tanımlamak için Komut Dosyası Nesne Gösterimi (JSON) kullanılır.pingBelgeler ve kaynaklar, Yardım menüsü altındaki "Kullanıcı Arayüzü Öğesi Belgeleri" seçeneğinde bulunur. Selenium IDE.

Yardım menüsü Selenium Kullanıcı Arayüzü Öğesi Dokümantasyonu girişine sahip IDE

UI öğesi ekranının bir örneği aşağıda gösterilmiştir.

Test edilen uygulama için JSON öğe haritasını içeren UI-Element paneli.

Toplama Bölmesi

Rollup, bir komut grubunu tek adımda yürütmenizi sağlar. Bir komut grubu kısaca "rollup" olarak adlandırılır. Yoğun olarak şu yöntemleri kullanır: JavaProgramlama dillerindeki “fonksiyon”a benzer bir komut koleksiyonu formüle etmek için Script ve UI-Element kavramları.

Rollup'lar yeniden kullanılabilir; yani, test senaryosu içinde birden fazla kez kullanılabilirler. Rollup'lar, tek bir komuta yoğunlaştırılmış komut grupları olduğundan, test betiğinizi kısaltmaya büyük katkı sağlarlar.

Editörde çeşitli Selenese adımları tek bir rollup komutunda birleştirildi.

Toplama sekmesinin içeriğinin nasıl göründüğüne dair bir örnek aşağıda gösterilmiştir.

Açılır pencere, aşağıdakileri gösteriyor: JavaYeniden kullanılabilir bir toplama kuralının arkasındaki komut dosyası tanımı

Mevcut eklentide özet ve kullanıcı arayüzü öğesi panellerinin karşılığı bulunmamaktadır; bu rolü şu anda kontrol akışı komutları ve kod dışa aktarımı üstlenmektedir.

SSS

.side uzantılı tek bir dosya, tüm projeyi -her testi, her test paketini ve temel yapıyı- içerir. URLBu, her test durumu için ayrı bir HTML dosyası kullanılan eski modelin yerini alıyor ve projenin sürüm kontrolüne kolayca aktarılmasını sağlıyor.

Evet. Eklenti içindeki oynatma, yüklendiği tarayıcıyı kullanır, ancak komut satırı çalıştırıcısı kaydedilmiş bir projeyi diğer tarayıcılara karşı çalıştırır ve bir derleme hattına entegre olur; tarayıcı içi oynatıcı ise bunu yapamaz.

Mevcut IDE, if, else if, else, while, times, do, repeat if ve for each gibi kontrol akışı komutlarını içerir. Bu, dallanmayı ve döngüleri kapsar.ping kaydedilmiş bir senaryoda olmadan JavaBu komut dosyası, eski toplama özelliğine ilişkin geçici çözümler gerektiriyor.

Kaydedici, her öğe için birden fazla aday konum belirleyici saklar. Oynatma sırasında, bir tanesi başarılı olana kadar alternatifler denenir, bu nedenle değişen bir kimlik adımı mutlaka bozmaz. Kalıcı başarısızlıklar, konum belirleyici listesinin elle düzenlenmesi gerektiği anlamına gelir.

Bir teste veya test paketine sağ tıklamak, C# NUnit ve C# xUnit için WebDriver kodunu sunar. Java JUnit, JavaScript Mocha, Python Pytest ve Ruby RSpec. İsteğe bağlı bir geçiş düğmesi yorumlar ekler. tracOluşturulan her satırı kaydedildiği adıma geri döndürmek.

Makine öğrenimi esas olarak kaydedilen testlerin en zayıf noktasına, yani konum belirleyicilere uygulanır. Kendi kendini onaran motorlar, çeşitli aday seçicileri sıralar ve işaretleme değiştiğinde çalışan birini devreye sokar; benzer modeller ise gerçek hataları zamanlama gürültüsünden ayırmak için tekrarlanan hataları kümelendirir.

Temizleme aşaması için oldukça uygundur. Dışa aktarılan kod uzun, doğrusal bir metottur ve Copilot bunu sayfa nesnelerine dönüştürecek, sabit kodlanmış verileri fixture'lara çekecek ve sabit duraklamaları açık beklemelerle değiştirecektir. RevSakladığı konum belirleyicilerine göz atın.

Testlerin ortak kurulum, veri dosyaları, raporlama veya test paketleri arasında yeniden kullanım gerektirmesi durumunda, IDE bir senaryoyu hızlı bir şekilde test etmek için mükemmeldir; kodlanmış bir Selenium Bu çerçeve, yüzlerce senaryonun sürdürülebilir olmasını sağlayan şeydir.

Bu yazıyı şu şekilde özetleyin: