Selenium Çekirdek Uzantıları (Kullanıcı Uzantıları.js)

İçindekiler:

Anonim

Uzantıları anlamak için önce selenyum IDE'nin üç temelini anlayalım

  1. Eylem: Kullanıcı Arayüzü Ekranında hangi işlemi gerçekleştiriyorsunuz?

  2. Değerlendiriciler / Onaylama: Kullanıcı arayüzünden aldığınız veriler üzerinde hangi doğrulamayı yaparsınız?

  1. Konum Belirleme Stratejisi: Öğeyi kullanıcı arayüzünde nasıl bulabiliriz.

Şimdi, Selenium IDE, çok sayıda Eylem, Onaylama / Değerlendirici ve Konum Belirleme Stratejileri içeren çok olgun bir kitaplığa sahiptir.

Ancak bazen proje gereksinimlerimiz için ona biraz daha işlevsellik eklememiz gerekir. Bu durumda, özel uzantılarımızı ekleyerek bu kitaplığı genişletebiliriz. Bu özel uzantılara "Kullanıcı Uzantısı" adı verilir.

Örneğin, bir web öğesine doldurmadan önce metni büyük harfe dönüştürebilen bir Eylem'e ihtiyacımız var. Bu Eylemi varsayılan Eylem kitaplığında bulamazsınız. Böyle bir durumda kendi 'Kullanıcı Uzantınızı' oluşturabilirsiniz. Bu eğiticide, Metni Büyük Harfe dönüştürmek için kullanıcı uzantılarının nasıl oluşturulacağını öğreneceğiz.

Selenium kullanıcı uzantısı oluşturma gereksinimi:

Selenium IDE için kullanıcı uzantısı oluşturmak için JavaScript ve Java Script prototip nesne konseptinin temel kavramını bilmemiz gerekir.

Kullanıcı uzantınızı oluşturmak için, Java komut dosyası yöntemleri oluşturmanız ve bunları selenyum nesne prototipine ve PageBot nesne prototipine eklemeniz gerekir.

Selenium IDE, Kullanıcı Uzantısını nasıl tanır?

Selenium IDE'yi başlattığımızda Selenium IDE'ye Kullanıcı Uzantısı ekledikten sonra, javascript prototipindeki tüm bu uzantılar yüklenir ve Selenium IDE onları adlarından tanır.

Kullanıcı Uzantısı Nasıl Oluşturulur

Adım 1) Eylem - tüm eylemler "do" ile başlatılır, yani eylem, adından çok büyük harfli metin içinse doTextUpperCase olacaktır . Bu eylem yöntemini Selenium IDE'ye eklediğimizde, Selenium IDE bu eylem için kendisi bir bekleme yöntemi oluşturacaktır. Dolayısıyla bu durumda doTextUpperCase eylemi oluşturduğumuzda Selenium IDE, TextUpperCaseAndWait olarak karşılık gelen bir bekleme işlevi oluşturacaktır . İki parametreyi kabul edebilir

Örnek: Büyük Harf Metin İşlemi

Selenium.prototype.doTextUpperCase = function (konumlandırıcı, metin) {// Burada findElement'in kendisi her tür konumlandırıcıyı (xpath, css, name, id, className) işleyebilir, sadece konum belirleyici metnini geçmemiz gerekiyorvar element = this.page (). findElement (yer belirleyici);// Yazılacak metni oluşturuntext = text.toUpperCase ();// Eleman metnini yeni metinle değiştirinthis.page (). replaceText (öğe, metin);};

Adım 2) Değerlendiriciler / Onaylama - Selenyum nesne prototipinde kayıtlı tüm değerlendiricilerin öneki olacaktır

"almak" veya "," Örn. getValueFromCompoundTable, isValueFromCompoundTable. Test durumundaki biri hedef, diğeri değer alanı için olmak üzere iki parametre kabul edebilir.

Her bir Değerlendirici için, "doğrula", "onaylamak" ve bekleme işlevi ön eki "waitFor" ile ön ekli karşılık gelen doğrulama işlevleri olacaktır.

Örnek: Büyük Harfli Metin değerlendiricileri için

Selenium.prototype.assertTextUpperCase = function (konumlandırıcı, metin) {// Tüm yer belirleme stratejileri otomatik olarak "findElement" tarafından yönetilirvar element = this.page (). findElement (yer belirleyici);// Doğrulamak için metni oluşturuntext = text.toUpperCase ();// Gerçek eleman değerini alınvar realValue = element.value;// Gerçek değerin beklenen ile eşleştiğinden emin olunAssert.matches (beklenenDeğer, gerçekDeğer);};Selenium.prototype.isTextEqual = function (yer belirleyici, metin) {this.getText (konum belirleyici) .value === metin;};Selenium.prototype.getTextValue = function (konumlandırıcı, metin) {this.getText (yer belirleyici) .value;};

Adım 3) Konum belirleme stratejisi - Bir öğeyi bulmak için kendi işlevimizi oluşturmak istiyorsak o zaman

PageBot prototipini "locateElementBy" önekine sahip bir işlevle genişletmemiz gerekiyor.

İki parametre alacak, birincisi yer belirleme dizisi ve ikincisi belge olacak

aranması gereken yer.

Örnek: Büyük Harfli Metin Bulucu için

// "InDocument" aradığınız bir belgedir.PageBot.prototype.locateElementByUpperCase = function (text, inDocument) {// Aranacak metni oluşturunvar beklenenValue = text.toUpperCase ();// Tüm öğeler arasında döngü yapın, sahip olanları arayın.// bir değer === beklenen değerimizvar allElements = inDocument.getElementsByTagName ("*");// Bu yıldız '*', her öğeden geçeceği bir tür normal ifadedir (HTML DOM'da her öğenin kesinlikle , ,

, , gibi bir etiket adı vardır. ,
vb.). Burada amacımız, geçtiğimiz Büyük Harf metniyle eşleşen bir öğe bulmaktır, böylece onu tüm öğelerle arayacağız ve eşleştiğimizde doğru web öğesine sahip olacağız.for (var i = 0; i

Yeni oluşturulan çekirdek uzantı nasıl kullanılır?

  1. Selenium IDE'ye gidin

    Seçenekler -> Seçenekler… üzerine tıklayın.

  1. Genel bölümünde yeni oluşturulan Selenium Çekirdek Uzantısının konumunu seçin

  2. Tamam'a tıklayın ve Selenium IDE'yi yeniden başlatın

  1. Uzantıyı komut listesinde bulacaksınız

Selenium IDE'de kullanılan popüler uzantıların / eklentilerin listesi aşağıdadır.

İsim Soyisim Amaç
Favoriler Bir test süitini favori olarak işaretlemek ve tek bir tıklamayla yürütmek için
Esnek Pilot X Flex tabanlı otomasyon için
FlexMonkium Adobe Flex tabanlı kayıt ve oynatma için Selenium IDE'de test etme
Dosya Günlüğü Günlükleri bir dosyaya kaydetmek için
Akış kontrolü Test yürütme akışını kontrol etmek için
Öğeleri Vurgula Bir web kontrolünü vurgulamak için
Örtülü Bekleme Belirli bir süre için bir öğeyi beklemek
Başarısız Olduğunda ScreenShot Başarısızlık durumunda ekran görüntüsü alın
Test sonuçları Bir test paketi için Test Senaryosu sonucunu tek bir tıklamayla kaydedin

Bunları ve daha fazlasını SeleniumHQ resmi sitesinin indirme bölümünden edinebilirsiniz.

http://docs.seleniumhq.org/download/

Özet:

  • Selenium IDE, Action, Assessors / Assertion, Locator stratejisinin üç bölümü vardır.
  • Selenium IDE mevcut gereksinimi karşılamadığında kullanıcı uzantısı oluşturulur.
  • Kullanıcı uzantısı oluşturmak için, selenium'un nesne prototipine javascript eklemek gerekir.
  • Uzantı oluşturduktan sonra, onu Selenium IDE'ye eklemek ve IDE'yi yeniden başlatmak gerekir.

Bu Eğitimde kullanılan Selenium Core Uzantısını indirin