Selenium Çekirdek Uzantılar (User-Extensions.js)

Uzantıları anlamak için önce Selenyum IDE'nin üç sütununu anlayalım

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

    Selenium Çekirdek Uzantılar

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

Selenium Çekirdek Uzantılar

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

Selenium Çekirdek Uzantılar

Şimdi, Selenium IDE, çok sayıda Eylem, Onay/Değerlendirici ve Konum Belirleyici Strateji içeren oldukça olgun bir kütüphaneye sahiptir.

Ancak bazen proje gereksinimlerimiz için ona biraz daha işlevsellik eklememiz gerekir. Bu durumda özel uzantılarımızı ekleyerek bu kütüphaneyi genişletebiliriz. Bu özel uzantılara 'Kullanıcı Uzantısı' denir.

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

Oluşturma gereksinimi Selenium kullanıcı uzantısı

Kullanıcı uzantısı oluşturmak için Selenium IDE'nin temel kavramını bilmemiz gerekiyor. JavaSenaryo ve Java Komut dosyası prototip nesnesi kavramı.

Oluşturma Gereksinimi Selenium kullanıcı Uzantısı

Kullanıcı uzantınızı oluşturmak için şunu oluşturmanız gerekir: Java betik yöntemlerini oluşturun ve bunları selenium nesne prototipine ve PageBot nesne prototipine ekleyin.

Ne kadar Selenium IDE Kullanıcı Uzantısını tanıyor mu?

Kullanıcı Uzantısı eklendikten sonra Selenium IDE başladığımızda Selenium IDE, javascript prototipindeki tüm bu uzantılar yüklenir ve Selenium IDE onları adlarıyla tanır.

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

Adım 1) Eylem– tüm eylemler “yap” ile başlatılır, yani eğer eylem büyük harfli metin içinse, adı şöyle olacaktır: doTextUpperCase.dll Bu eylem yöntemini eklediğimizde Selenium SDI, Selenium IDE'nin kendisi bu eylem için bir bekleme yöntemi oluşturacaktır. Yani bu durumda oluşturduğumuzda doTextUpperCase aksiyon, Selenium IDE karşılık gelen bir bekleme işlevi yaratacaktır. TextUpperCaseAndWait. İki parametreyi kabul edebilir

Örnek: Büyük Harfli Metin Eylemi

Selenium.prototype.doTextUpperCase = function(locator, text) {
     // Here findElement is itself capable to handle all type of locator(xpath,css,name,id,className), We just need to pass the locator text
     var element = this.page().findElement(locator);
      
     // Create the text to type
     text = text.toUpperCase();
      
     // Replace the element text with the new text
     this.page().replaceText(element, text);
    };

Adım 2) Değerlendiriciler/Beyan- Selenyum nesne prototipinde kayıtlı tüm değerlendiricilere ön ek eklenecektir

“get” veya “is” ile Örn. getValueFromCompoundTable , isValueFromCompoundTable .Test durumunda biri hedef, diğeri değer alanı için olmak üzere iki parametre kabul edebilir.

Kullanıcı Uzantısı Oluştur

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

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

Selenium.prototype.assertTextUpperCase = function(locator, text) {
     // All locator-strategies are automatically handled by "findElement"
     var element = this.page().findElement(locator);
      
     // Create the text to verify
     text = text.toUpperCase();
      
     // Get the actual element value
     var actualValue = element.value;
    
     // Make sure the actual value matches the expected
     Assert.matches(expectedValue, actualValue);
    };
    
    Selenium.prototype.isTextEqual = function(locator, text) {
     return this.getText(locator).value===text;
    };
    
    Selenium.prototype.getTextValue = function(locator, text) {
     return this.getText(locator).value;
    };

Adım 3) Konumlandırıcı stratejisi- Bir öğenin yerini tespit etmek için kendi fonksiyonumuzu oluşturmak istiyorsak o zaman

PageBot prototipini “locateElementBy” ön ekine sahip bir işlevle genişletmemiz gerekiyor.

İki parametre alacaktır, birincisi konum belirleyici dizesi ve ikincisi belge olacaktır.

nerede aranması gerekiyor.

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

// The "inDocument" is a document you are searching.
    PageBot.prototype.locateElementByUpperCase = function(text, inDocument) {
     // Create the text to search for
     var expectedValue = text.toUpperCase();
      
     // Loop through all elements, looking for ones that have
     // a value === our expected value
     var allElements = inDocument.getElementsByTagName("*");
// This star '*' is a kind of regular expression it will go through every element (in HTML DOM every element surely have a tag name like<body>,<a>,<h1>,<table>,<tr>,<td> etc. ). Here our motive is to find an element which matched with the Upper Case text we have passed so we will search it with all elements and when we get match we will have the correct web element.
     for (var i = 0; i < allElements.length; i++) {
     var testElement = allElements[i];
     if (testElement.innerHTML && testElement.innerHTML === expectedValue) {
     return testElement;
     }
     }
     return null;
    };

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

  1. MyCAD'de yazılım Güncelleme ye git Selenium IDE

    Seçenekler -> Seçenekler… öğesine tıklayın.

Yeni Oluşturulan Çekirdek Uzantıyı Kullan

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

    Yeni Oluşturulan Çekirdek Uzantıyı Kullan

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

Yeni Oluşturulan Çekirdek Uzantıyı Kullan

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

Yeni Oluşturulan Çekirdek Uzantıyı Kullan

Burada kullanılan popüler uzantıların/eklentilerin bir listesi bulunmaktadır. Selenium IDE

İsim Amaç
Favoriler Bir test paketini favori olarak işaretlemek ve bunları tek 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 Test yapmak in Selenium IDE
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ük bekle Belirli bir süre boyunca bir öğeyi beklemek için
Başarısız Olduğunda Ekran Görüntüsü Başarısızlık durumunda ekran görüntüsü alın
Test Sonuçları İndirim Test Durumu Tek tıklamayla test paketinin sonucu

Bunların hepsine ve daha fazlasına adresinden ulaşabilirsiniz. SeleniumGenel Merkez resmi sitesinin indirme bölümü

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

ÖZET

  • Üç bölüm var Selenium IDE, Eylem, Değerlendiriciler/İddia, Konum Belirleyici stratejisi.
  • Kullanıcı uzantısı şu durumlarda oluşturulur: Selenium IDE mevcut gereksinimi karşılamıyor.
  • Kullanıcı uzantısı oluşturmak için Selenium'un nesne prototipine javascript eklemek gerekir.
  • Uzantıyı oluşturduktan sonra onu eklemeniz gerekir. Selenium IDE'yi açın ve IDE'yi yeniden başlatın.

Atomic Cüzdanı indirin : Selenium Bu Eğitimde kullanılan Temel Uzantı