Selenium - Uzaktan Kumanda

Selenium RC nedir?

Selenium Remote Control (RC), Selenium WebDriver (Selenium 2.0) ortaya çıkmadan önce uzun süre devam eden ana Selenium projesiydi. WebDriver daha güçlü özellikler sunduğundan, Selenium RC artık neredeyse hiç kullanılmıyor, ancak kullanıcılar RC kullanarak komut dosyaları geliştirmeye devam edebilir.

Dosyaları okuma ve yazma, bir veritabanını sorgulama ve test sonuçlarını e-posta ile gönderme gibi daha karmaşık testler oluşturmak için Java, C #, Perl, Python ve PHP gibi programlama dillerinin tam gücünün yardımıyla otomatik web uygulaması kullanıcı arayüzü testleri yazmamızı sağlar. .

Selenium RC Mimarisi

Selenium RC, istemci kitaplıklarının, yürütme için her Selenium komutunu ileten Selenium RC Sunucusu ile iletişim kurabileceği şekilde çalışır. Daha sonra sunucu Selenium komutunu Selenium-Core JavaScript komutlarını kullanarak tarayıcıya iletir.

Tarayıcı, JavaScript yorumlayıcısını kullanarak Selenium komutunu yürütür.

Selenium RC iki bölümden oluşmaktadır.

  • Selenium Sunucusu tarayıcıları başlatır ve sonlandırır. Buna ek olarak, Selenese komutlarını yorumlar ve çalıştırır. Ayrıca, tarayıcı ile test edilen uygulama arasında aktarılan HTTP mesajlarını yakalayıp doğrulayarak bir HTTP proxy işlevi görür.

  • Programlama dillerinin her biri (Java, C #, Perl, Python ve PHP) ile Selenium-RC Sunucusu arasında bir arayüz sağlayan istemci kitaplıkları.

RC Komut Dosyası

Şimdi Selenium Remote Control kullanarak örnek bir betik yazalım. Kullanalımhttp://www.calculator.net/Selenium RC'yi anlamak için. 'Matematik Hesaplayıcıları' modülünün altında bulunan 'Yüzde Hesaplayıcı'yı kullanarak Yüzde hesaplaması yapacağız.

Step 1 - Selenium Uzaktan Kumandayı başlatın (komut istemi yardımıyla).

Step 2 - Selenium RC'yi başlattıktan sonra Eclipse'i açın ve aşağıda gösterildiği gibi bir "Yeni Proje" oluşturun.

Step 3 - Proje adını girin ve 'İleri' düğmesine tıklayın.

Step 4 - Kaynak, Projeler, Kitaplıklar ve Çıktı klasörünü doğrulayın ve 'Bitir'i tıklayın.

Step 5 - 'Proje' konteynerine sağ tıklayın ve 'Yapılandırma Yolunu Yapılandır'ı seçin.

Step 6- 'selrcdemo' için özellikler açılır. 'Kitaplıklar' sekmesine gidin ve 'Harici JAR Ekle'yi seçin. İndirdiğimiz Selenium RC jar dosyasını seçin ve aşağıda gösterildiği gibi görünecektir.

Step 7 - Başvurulan Kitaplıklar aşağıda gösterildiği gibi gösterilmiştir.

Step 8 - 'src' klasörüne sağ tıklayıp 'Yeni' >> 'sınıf'ı seçerek yeni bir sınıf dosyası oluşturun.

Step 9 - Sınıf dosyasının adını girin ve aşağıda gösterildiği gibi "public static void main" i etkinleştirin.

Step 10 - Oluşturulan Sınıf, aşağıda gösterildiği gibi klasör yapısı altında oluşturulur.

Step 11- Şimdi kodlama zamanı. Aşağıdaki kod, okuyucuların ortaya konulanları anlamasını sağlamak için gömülü yorumlara sahiptir.

package selrcdemo;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class rcdemo {
   public static void main(String[] args) throws InterruptedException {

      // Instatiate the RC Server
      Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
      selenium.start();   // Start
      selenium.open("/");  // Open the URL
      selenium.windowMaximize();

      // Click on Link Math Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
      Thread.sleep(2500); // Wait for page load

      // Click on Link Percent Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
      Thread.sleep(4000); // Wait for page load

      // Focus on text Box
      selenium.focus("name = cpar1");
      
      // enter a value in Text box 1
      selenium.type("css=input[name = \"cpar1\"]", "10");
      
      // enter a value in Text box 2
      selenium.focus("name = cpar2");
      selenium.type("css = input[name = \"cpar2\"]", "50");

      // Click Calculate button
      selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");

      // verify if the result is 5
      String result = selenium.getText(".//*[@id = 'content']/p[2]");

      if (result == "5") {
         System.out.println("Pass");
      } else {
         System.out.println("Fail");
      }
   }
}

Step 12 - Şimdi, 'Çalıştır' Düğmesine tıklayarak betiği çalıştıralım.

Step 13 - Komut dosyası yürütülmeye başlayacak ve kullanıcı 'Komut Geçmişi' Sekmesi altında komut geçmişini görebilecek.

Step 14- Uygulamanın son hali aşağıda gösterildiği gibidir. Yüzde hesaplanır ve sonucu aşağıda gösterildiği gibi ekranda gösterir.

Step 15- Testin çıktısı, çıktıyı konsola yazdırdığımız için aşağıda gösterildiği gibi Eclipse konsoluna yazdırılır. Gerçek zamanlı olarak çıktı bir HTML dosyasına veya basit bir Metin dosyasına yazılır.