most popular test automation frameworks with pros
Son birkaç Selenium eğitiminde, yaygın ve popüler olarak kullanılan çeşitli WebDriver'daki komutlar , Web Tabloları, Çerçeveler gibi web öğelerini kullanma ve istisnaları ele almak Selenium komut dosyalarında.
Bu komutların her birini, benzer durumlarla karşılaştığınızda bu komutları etkili bir şekilde kullanabilmenizi sağlamak için örnek kod parçacıkları ve örneklerle tartıştık. Önceki eğitimde tartıştığımız komutlar arasında, bunlardan çok azı büyük önem taşıyor.
Selenium serisinde ilerlerken, odak noktamızı Otomasyon Çerçevesi oluşturma önümüzdeki birkaç öğreticide. Bir Otomasyon çerçevesinin çeşitli yönlerine, Otomasyon çerçevelerinin türlerine, bir çerçeve kullanmanın yararlarına ve bir Otomasyon çerçevesini oluşturan temel bileşenlere de ışık tutacaktık.
Ne öğreneceksin:
- Çerçeve nedir?
- Test Otomasyon Çerçevesi
- Test Otomasyon Çerçevesi Türleri
- # 1) Modül Tabanlı Test Çerçevesi
- # 2) Kütüphane Mimarisi Test Çerçevesi
- # 3) Veriye Dayalı Test Çerçevesi
- # 4) Anahtar Kelime Odaklı Test Çerçevesi
- # 5) Hibrit Test Çerçevesi
- # 6) Davranış Odaklı Geliştirme Çerçevesi
- Sonuç
- Önerilen Kaynaklar
Çerçeve nedir?
Çerçeve, Çerçeve tarafından sağlanan iskelenin faydalarından yararlanmak için bir bütün olarak dahil edilebilen veya takip edilebilen belirlenmiş protokoller, kurallar, standartlar ve yönergelerin bir kombinasyonu olarak kabul edilir.
Gerçek hayattan bir senaryo düşünelim.
Çok sık asansör veya asansör kullanıyoruz. Sistemden maksimum fayda ve uzun süreli hizmetten yararlanmak için izlenecek ve dikkat edilecek asansörde belirtilen birkaç yönerge vardır.
Bu nedenle, kullanıcılar aşağıdaki yönergeleri fark etmiş olabilir:
- Asansörün maksimum kapasitesini kontrol edin ve maksimum kapasiteye ulaşıldıysa asansöre binmeyin.
- Herhangi bir acil durum veya sorun durumunda alarm düğmesine basın.
- Asansöre girmeden önce varsa yolcunun asansörden inmesine izin verin ve kapılardan uzak durun.
- Binada yangın çıkması veya gelişigüzel bir durum olması durumunda asansör kullanmaktan kaçının.
- Asansörün içinde oynamayın veya atlamayın.
- Asansörün içinde sigara içmeyin.
- Kapı açılmazsa veya asansör hiç çalışmazsa yardım / yardım isteyin. Kapıları zorla açmaya çalışmayın.
Çok daha fazla kural veya yönergeler olabilir. Bu nedenle, bu yönergeler takip edilirse sistemi kullanıcılar için daha faydalı, erişilebilir, ölçeklenebilir ve daha az sorunlu hale getirir.
Şimdi, “Test Otomasyon Çerçeveleri” nden bahsederken, odağımızı onlara doğru kaydıralım.
Test Otomasyon Çerçevesi
Bir 'Test Otomasyon Çerçevesi', otomasyon test komut dosyaları için bir yürütme ortamı sağlamak üzere oluşturulan yapı iskelesidir. Çerçeve, kullanıcıya otomasyon test komut dosyalarını verimli bir şekilde geliştirmelerine, yürütmelerine ve raporlamalarına yardımcı olan çeşitli faydalar sağlar. Daha çok, testlerimizi otomatikleştirmek için özel olarak oluşturulmuş bir sisteme benziyor.
Çok basit bir dille, bir çerçevenin sütun otomasyon testine çeşitli kılavuzlar, kodlama standartları, kavramlar, süreçler, uygulamalar, proje hiyerarşileri, modülerlik, raporlama mekanizması, test verisi enjeksiyonları vb.'nin yapıcı bir karışımı olduğunu söyleyebiliriz. Böylece, kullanıcı, çeşitli verimli sonuçlardan yararlanmak için uygulamayı otomatikleştirirken bu yönergeleri izleyebilir.
Avantajlar, komut dosyası oluşturma kolaylığı, ölçeklenebilirlik, modülerlik, anlaşılabilirlik, süreç tanımlama, yeniden kullanılabilirlik, maliyet, bakım vb. Gibi farklı biçimlerde olabilir. Bu nedenle, bu faydaları elde edebilmek için geliştiricilere aşağıdakilerden birini veya birkaçını kullanmaları önerilir. Test Otomasyon Çerçevesi.
Dahası, aynı uygulamanın farklı modülleri üzerinde çalışan bir grup geliştiriciniz olduğunda ve geliştiricilerin her birinin otomasyona yönelik yaklaşımını uyguladığı durumlardan kaçınmak istediğimizde, tek ve standart bir Test Otomasyon Çerçevesi ihtiyacı ortaya çıkar.
Not : Bir test çerçevesinin her zaman uygulamadan bağımsız olduğunu, yani test edilen uygulamanın karmaşıklıklarına (Teknoloji yığını, mimari vb. Gibi) bakılmaksızın herhangi bir uygulamayla kullanılabileceğini unutmayın. Çerçeve ölçeklenebilir ve sürdürülebilir olmalıdır.
Test Otomasyon çerçevesinin avantajı
- Kodun yeniden kullanılabilirliği
- Maksimum kapsama
- Kurtarma senaryosu
- Düşük maliyetli bakım
- Minimum manuel müdahale
- Kolay Raporlama
Test Otomasyon Çerçevesi Türleri
Artık Otomasyon Çerçevesinin ne olduğuna dair temel bir fikrimiz olduğuna göre, bu bölümde piyasada bulunan çeşitli Test Otomasyon Çerçeveleri türlerini size haber vereceğiz. Ayrıca, artıları ve eksileri ve kullanılabilirlik önerileri üzerine ışık tutmaya çalışırdık.
Günümüzde farklı bir Otomasyon Çerçevesi yelpazesi mevcuttur. Bu çerçeveler, yeniden kullanılabilirlik, bakım kolaylığı vb. Gibi otomasyon yapmak için farklı temel faktörlere verdikleri desteğe bağlı olarak birbirinden farklı olabilir.
iç birleşim dış birleşim sol birleşim sağ birleşim
En popüler olarak kullanılan birkaç Test Otomasyon Çerçevesini tartışalım:
- Modül Tabanlı Test Çerçevesi
- Kütüphane Mimarisi Test Çerçevesi
- Veriye Dayalı Test Çerçevesi
- Anahtar Kelime Odaklı Test Çerçevesi
- Hibrit Test Çerçevesi
- Davranış Odaklı Geliştirme Çerçevesi
(büyütülmüş görmek için resme tıklayın)
Her birini ayrıntılı olarak tartışalım.
Ancak ondan önce, bu çerçeveye sahip olmasına rağmen, kullanıcının proje ihtiyaçlarına en uygun olan kendi çerçevesini oluşturmak ve tasarlamak için her zaman kaldıraçlı olduğunu da belirtmek isterim.
# 1) Modül Tabanlı Test Çerçevesi
Modül tabanlı Test Çerçevesi, popüler olarak bilinen OOP konseptlerinden biri olan Soyutlama'ya dayanmaktadır. Çerçeve, tüm 'Test Edilen Uygulama' yı bir dizi mantıksal ve yalıtılmış modüle böler. Her modül için ayrı ve bağımsız bir test betiği oluşturuyoruz. Bu nedenle, bu test komut dosyaları bir araya geldiğinde, birden fazla modülü temsil eden daha büyük bir test komut dosyası oluşturur.
Bu modüller, uygulamanın bölümlerinde yapılan değişikliklerin bu modülü etkilemeyeceği şekilde bir soyutlama katmanı ile ayrılmıştır.
Artıları:
- Çerçeve, daha kolay ve düşük maliyetli bakıma yol açan yüksek düzeyde modülerleştirme sunar.
- Çerçeve oldukça ölçeklenebilir
- Değişiklikler uygulamanın bir bölümünde uygulanırsa, yalnızca uygulamanın o bölümünü temsil eden test komut dosyasının diğer tüm bölümlere dokunulmadan kalması için düzeltilmesi gerekir.
Eksileri:
- Her modül için test komut dosyalarını ayrı ayrı uygularken, test verilerini (test yapmamız gereken veriler) test komut dosyalarına yerleştiririz. Bu nedenle, farklı bir test verisi setiyle test etmemiz gerektiğinde, test komut dosyalarında yapılacak işlemlerin yapılmasını gerektirir.
# 2) Kütüphane Mimarisi Test Çerçevesi
Kütüphane Mimarisi Test Çerçevesi, temelde ve temelde bazı ek avantajlarla birlikte Modül Tabanlı Test Çerçevesi üzerine inşa edilmiştir. Test edilen uygulamayı test komut dosyalarına bölmek yerine, uygulamayı işlevlere ayırıyoruz veya daha çok yaygın işlevler uygulamanın diğer bölümleri tarafından da kullanılabilir. Böylece test edilen uygulama için ortak işlevlerden oluşan ortak bir kitaplık oluşturuyoruz. Bu nedenle, bu kitaplıklar gerektiğinde test komut dosyalarından çağrılabilir.
Çerçevenin arkasındaki temel temel, ortak adımları belirlemek ve bunları bir kitaplık altındaki işlevler halinde gruplamak ve gerektiğinde bu işlevleri test komut dosyalarında çağırmaktır.
Misal : Oturum açma adımları bir işlevde birleştirilebilir ve bir kitaplıkta tutulabilir. Böylece, uygulamaya oturum açması gereken tüm test komut dosyaları, kodu baştan yazmak yerine bu işlevi çağırabilir.
Artıları:
- Modül Tabanlı Çerçeve gibi, bu çerçeve de daha kolay ve düşük maliyetli bakım ve ölçeklenebilirliğe yol açan yüksek düzeyde modülerleştirme sunar.
- Çerçeve genelinde çeşitli test komut dosyaları tarafından verimli bir şekilde kullanılabilecek ortak işlevler oluşturduğumuz için. Bu nedenle, çerçeve büyük ölçüde yeniden kullanılabilirlik sağlar.
Eksileri:
- Modül Tabanlı Çerçeve gibi, test verileri de test komut dosyalarına yerleştirilir, bu nedenle test verilerindeki herhangi bir değişiklik test komut dosyasında da değişiklik yapılmasını gerektirir.
- Kütüphanelerin tanıtılmasıyla çerçeve biraz karmaşık hale geldi.
# 3) Veriye Dayalı Test Çerçevesi
Herhangi bir uygulamayı otomatikleştirirken veya test ederken, zaman zaman aynı işlevselliği farklı giriş verileri kümesiyle birden çok kez test etmek gerekebilir. Bu nedenle, bu gibi durumlarda, test verilerinin test komut dosyasına gömülmesine izin veremeyiz. Bu nedenle, test verilerinin test komut dosyalarının dışındaki bazı harici veritabanlarında tutulması önerilir.
Veriye Dayalı Test Çerçevesi, kullanıcının test komut dosyası mantığını ve test verilerini birbirinden ayırmasına yardımcı olur. Kullanıcının test verilerini harici bir veri tabanına kaydetmesini sağlar. Harici veritabanları özellik dosyaları, xml dosyaları, excel dosyaları, metin dosyaları, CSV dosyaları, ODBC depoları vb. Olabilir. Veriler geleneksel olarak 'Anahtar-Değer' çiftlerinde saklanır. Bu nedenle, anahtar test komut dosyalarındaki verilere erişmek ve bunları doldurmak için kullanılabilir.
Not : Harici bir dosyada depolanan test verileri, beklenen değer matrisine ve ayrıca girdi değerleri matrisine ait olabilir.
kabarcık sıralama azalan düzen c ++
Misal:
Yukarıdaki mekanizmayı bir örnek yardımıyla anlayalım.
'Gmail - Giriş' İşlevselliğini ele alalım.
Aşama 1: İlk ve en önemli adım, test verilerini (Giriş verileri ve Beklenen Veriler) depolayan harici bir dosya oluşturmaktır. Örneğin bir excel sayfasını ele alalım.
Adım 2: Sonraki adım, test verilerini Otomasyon test Komut Dosyasına doldurmaktır. Bu amaçla, test verilerini okumak için birkaç API kullanılabilir.
public void readTD(String TestData, String testcase) throws Exception { TestData=readConfigData(configFileName,'TestData',driver); testcase=readConfigData(configFileName,'testcase',driver); FileInputStream td_filepath = new FileInputStream(TestData); Workbook td_work =Workbook.getWorkbook(td_filepath); Sheet td_sheet = td_work.getSheet(0); if(counter==0) { for (int i = 1,j = 1; i <= td_sheet.getRows()-1; i++){ if(td_sheet.getCell(0,i).getContents().equalsIgnoreCase(testcase)){ startrow = i; arrayList.add(td_sheet.getCell(j,i).getContents()); testdata_value.add(td_sheet.getCell(j+1,i).getContents());}} for (int j = 0, k = startrow +1; k <= td_sheet.getRows()-1; k++){ if (td_sheet.getCell(j,k).getContents()==''){ arrayList.add(td_sheet.getCell(j+1,k).getContents()); testdata_value.add(td_sheet.getCell(j+2,k).getContents());}} } counter++; }
Yukarıdaki yöntem, test verilerini okumaya yardımcı olur ve aşağıdaki test adımı, kullanıcının GUI'deki test verilerini yazmasına yardımcı olur.
element.sendKeys (obj_value.get (obj_index));
Artıları:
- Bu çerçevenin en önemli özelliği, test senaryolarının tüm olası kombinasyonlarını kapsamak için gereken toplam komut dosyası sayısını önemli ölçüde azaltmasıdır. Bu nedenle, tüm senaryoları test etmek için daha az miktarda kod gerekir.
- Test veri matrisindeki herhangi bir değişiklik, test komut dosyası kodunu engellemeyecektir.
- Esnekliği ve sürdürülebilirliği artırır
- Test veri değerlerini değiştirerek tek bir test senaryosu yürütülebilir.
Eksileri:
- Süreç karmaşıktır ve test veri kaynaklarını ve okuma mekanizmalarını bulmak için fazladan çaba gerektirir.
- Test komut dosyalarını geliştirmek için kullanılan bir programlama dilinde yeterlilik gerektirir.
# 4) Anahtar Kelime Odaklı Test Çerçevesi
Anahtar sözcük güdümlü test çerçevesi, yalnızca test verilerini komut dosyalarından ayırmakla kalmayıp, aynı zamanda test komut dosyasına ait belirli kod kümesini harici bir veri dosyasında saklaması açısından Veriye dayalı Test Çerçevesi'nin bir uzantısıdır.
Bu kod seti Anahtar Kelimeler olarak bilinir ve bu nedenle çerçeve de adlandırılır. Anahtar sözcükler, uygulamada hangi eylemlerin gerçekleştirilmesi gerektiği konusunda kendi kendine yol göstericidir.
Anahtar sözcükler ve test verileri tablo benzeri bir yapıda depolanır ve bu nedenle de popüler olarak Tablo güdümlü Çerçeve olarak kabul edilir. Anahtar kelimelerin ve test verilerinin kullanılan otomasyon aracından bağımsız varlıklar olduğuna dikkat edin.
MisalAnahtar Kelime Odaklı Test Çerçevesinin test durumu
Yukarıdaki örnekte, giriş, tıklama ve Bağlantıyı doğrula gibi anahtar kelimeler kod içinde tanımlanmıştır.
Uygulamanın doğasına bağlı olarak anahtar kelimeler türetilebilir. Ve tüm anahtar kelimeler tek bir test durumunda birden çok kez yeniden kullanılabilir. Yer belirleyici sütunu, ekrandaki web öğelerini veya sağlanması gereken test verilerini tanımlamak için kullanılan yer belirleyici değerini içerir.
Tüm gerekli anahtar kelimeler tasarlanır ve çerçevenin temel koduna yerleştirilir.
Artıları:
- Veriye Dayalı testin sağladığı avantajlara ek olarak, Anahtar kelimeye dayalı çerçeve, Veriye Dayalı Testin aksine kullanıcının komut dosyası bilgisine sahip olmasını gerektirmez.
- Tek bir anahtar kelime, birden çok test komut dosyasında kullanılabilir.
Eksileri:
- Kullanıcı, çerçeve tarafından sağlanan faydalardan verimli bir şekilde yararlanabilmek için Anahtar Kelime oluşturma mekanizması konusunda bilgili olmalıdır.
- Çerçeve büyüdükçe ve bir dizi yeni anahtar kelime tanıtıldıkça kademeli olarak karmaşık hale gelir.
# 5) Hibrit Test Çerçevesi
Adından da anlaşılacağı gibi, Hibrit Test Çerçevesi, yukarıda belirtilen birden fazla çerçevenin birleşimidir. Böyle bir kurulumla ilgili en iyi şey, her türlü ilişkili çerçevenin faydalarından yararlanmasıdır.
MisalHibrit Çerçeve
Test sayfası hem anahtar kelimeleri hem de Verileri içerecektir.
Yukarıdaki örnekte, anahtar kelime sütunu, belirli test senaryosunda kullanılan tüm gerekli anahtar kelimeleri içerir ve veri sütunu, test senaryosunda gerekli olan tüm verileri çalıştırır. Herhangi bir adım herhangi bir girişe ihtiyaç duymuyorsa, boş bırakılabilir.
# 6) Davranış Odaklı Geliştirme Çerçevesi
Davranış Odaklı Geliştirme çerçevesi, İş Analistleri, Geliştiriciler, Test Uzmanları, vb. İçin kolayca okunabilir ve anlaşılabilir bir formatta işlevsel doğrulamaların otomasyonuna izin verir. Bu tür çerçeveler, kullanıcının programlama diline aşina olmasını gerektirmez. BDD için salatalık, Jbehave vb. Gibi farklı araçlar mevcuttur. BDD çerçevesinin ayrıntıları daha sonra Hıyar eğitiminde tartışılacaktır. Salatalıkta test senaryoları yazmak için Kornişon diliyle ilgili ayrıntıları da tartıştık.
Otomasyon Test Çerçevesinin Bileşenleri
Bir çerçevenin yukarıdaki resimsel temsili kendi kendini açıklayıcı olsa da, yine de birkaç noktayı vurgulayacağız.
- Nesne Deposu : OR olarak Object Repository kısaltması, web öğeleriyle ilişkili konum belirleyici türleri kümesinden oluşur.
- Test verisi: Senaryonun test edileceği girdi verileri ve gerçek sonuçların karşılaştırılacağı beklenen değerler olabilir.
- Yapılandırma Dosyası / Sabitler / Ortam Ayarları : Dosya, uygulama URL'si, tarayıcıya özgü bilgiler vb. İle ilgili bilgileri depolar. Genellikle çerçeve boyunca statik kalan bilgilerdir.
- Jenerikler / Program mantığı / Okuyucular : Bunlar, tüm çerçevede yaygın olarak kullanılabilen işlevleri depolayan sınıflardır.
- Araçlar ve Sürekli Entegrasyon oluşturun : Bunlar, çerçevenin test raporları, e-posta bildirimleri ve günlük bilgileri oluşturma yeteneklerine yardımcı olan araçlardır.
Sonuç
Yukarıda gösterilen çerçeveler, test kardeşliği tarafından kullanılan en popüler çerçevelerdir. Yerinde başka çeşitli çerçeveler de var. Diğer tüm öğreticiler için temel alırız Veriye Dayalı Test Çerçevesi .
Bu eğiticide, bir Otomasyon Çerçevesinin temellerini tartıştık. Ayrıca piyasada bulunan çerçeve türlerini de tartıştık.
Sonraki Eğitim # 21 : Sonraki derste kısaca size örnek çerçeveyi, test verilerini depolayacak olan MS Excel'i, excel manipülasyonlarını vb. tanıtın.
O zamana kadar, otomasyon çerçeveleriyle ilgili sorularınızı sormaktan çekinmeyin.
Önerilen Kaynaklar
- Selenium Otomasyon Projesinin Test Tahminini Etkileyen 7 Faktör - Selenium Eğitimi # 32
- Selenium WebDriver'a Giriş - Selenium Eğitimi # 8
- Etkili Selenium Komut Dosyası Oluşturma ve Sorun Giderme Senaryoları - Selenium Eğitimi # 27
- Günlüklerle Selenium Komut Dosyalarında Hata Ayıklama (Log4j Eğitimi) - Selenium Eğitimi # 26
- 30+ En İyi Selenyum Öğreticisi: Gerçek Örneklerle Selenyum Öğrenin
- Yeni Başlayanlar İçin Derinlemesine Eclipse Eğiticileri
- Selenium Komut Dosyaları Oluşturmak İçin Chrome ve IE Tarayıcılarda Öğeler Nasıl Bulunur - Selenium Tutorial # 7
- Salatalık Selenium Eğitimi: Salatalık Java Selenium WebDriver Entegrasyonu