En iyi Selenyum otomasyon test araçları incelemesi: Katalon Studio vs Robot Framework

Son zamanlarda, test otomasyon çabalarına başlamalarına yardımcı olmak için birkaç yazılım test ekibiyle çalışma şansım oldu. Ekipler çoğunlukla manuel testlerden oluşuyor ve bazıları daha önce test otomasyonu konusunda deneyime sahipti, ancak hiçbiri geliştirici gibi programlamaya aşina değildi. Uygulamalar, çoğunlukla mobil uygulamalarla birlikte web tabanlıdır. Robot Framework ve Katalon Studio - Biz özgür ve özgür olmayanlar da dahil olmak üzere çeşitli test araçlarının kısa bir listesini yaptık ve daha sonra en iyi iki ürünü bulduk. Genel olarak oldukça iyi seçimlerdir, bu nedenle yan yana karşılaştırma yapmanın ve gelecekte nasıl performans göstereceklerini görmenin ilginç olacağını düşünüyorum.

teknoloji

Her ikisi de şu anda en iyi web tarayıcısı geliştiricileri (Google, Microsoft, Apple, Mozilla) tarafından desteklenen otomasyon çerçevesi olan Selenium'un üzerine inşa edilmiştir. Selenyum'un şimdilik web tarayıcınızı otomatikleştirmenin en iyi yolu olduğunu söylemek güvenlidir.

Selenyum, mobil uygulamaları Appium aracılığıyla otomatikleştirmek için de kullanılabilir. Google ve Apple’ın otomasyon yapmak için kendi yollarını bulduklarına bakıldığında, Selenium ve Appium'u kullanmak, kaynak kodunu ve bilgisini birden fazla platformda yeniden kullanabileceğimiz anlamına gelir - bir kez öğrenin, her yere yazın.

Yani teknoloji için bu bir kravat. Robot Çerçevesi - Katalon Studio: 1–1.

Fiyat

Her ikisi de hiçbir zorunluluk olmadan ücretsizdir. UFT gibi güncel olmayan “kurumsal” yazılımları çalıştırmak bizim için sadece maliyet engelleyicidir.

Robot Çerçevesi - Katalon Studio: 1–1.

Kurulum ve bileşenleri

Robot Framework iki ayrı bileşenle birlikte gelir: test koşucusu ve IDE. Bu bileşenleri kurmak biraz karışıktır, ancak bir şey yapıldıktan sonra, gitmeye hazırsınızdır. İlk önce, Python'u bilgisayarınıza kurmanız gerekir. Sonra bazı komut satırlarını çalıştırın. Windows kullanıyorsanız, bu işletim sistemi Python’un birinci sınıf vatandaşı olmadığından, ancak nadiren gerçekleştiğinden ve çözümler kolayca çözülebildiğinden sorunlarla karşılaşabilirsiniz.

Aslında daha sonra bahsedeceğim üçüncü bir “gayri resmi” bileşen var.

Katalon Studio için bence bu en iyi kurulum deneyiminden biri. Eğer Eclipse'i kurduysanız, bunu bileceksiniz. Windows için bir ZIP dosyası indirmeniz ve çıkartmanız gerekecektir. MacOS için, sizin için hazır bir DMG dosyası var. Oldukça temiz.

Robot Çerçevesi - Katalon Stüdyosu: 0,5–1.

Test Tasarımı

Kayıt (kodsuz test otomasyonu)

Açıkçası, bir programcı olarak, büyük bir kayıt ve oynatma hayranı değilim. Sadece kodu yazmak benim için daha kolay ve daha hızlı geliyor. Ancak, kodlama konusunda çok az deneyime sahip olanlar için, eylemlerini kaydetme ve test senaryoları oluşturma yeteneği büyük bir verimlilik kazancıdır.

Ne yazık ki, Robot Framework bir kayıt cihazı sağlamıyor - ve bu üçüncü bileşenin göründüğü yer. Selenyum projesi, esasen bir test kayıt ve oynatma aracı olan Selenyum IDE adı verilen meşhur bir Firefox eklentisi içeriyor. Selenyum IDE eklentileri olabilir (bu eklenti bir eklentidir!) Ve birisi, Selenyum IDE'nin Robot Framework kodu oluşturmasına yardımcı olan bir eklenti yazmıştı. Yapılması gereken bazı kurulum işleri, fakat işe yarıyor.

Bunun dezavantajı, Selenium IDE gelişiminin bir süredir etkin olmadığı ve Firefox’un 2017 sonunda çıkarmaya karar verdikleri eski eklenti çerçevesine dayanıyor. daha yeni Firefox sürümleri için.

Katalon Studio, Chrome, Firefox ve hatta Internet Explorer için kendi eklentileriyle geliyor. Kurulum, ilgili web tarayıcısı eklenti mağazalarına gidip tıklatarak yüklemek kadar kolaydır.

Katalon Studio burada liderliğini genişletiyor. Robot Çerçevesi - Katalon Stüdyosu: 0,5–1.

Kodlama (Script)

Robot Framework'ün kendi etki alanına özgü dili (DSL) vardır. Özel anahtar kelimeler Python ve Java’da yazılabilir, ancak test senaryoları içeriği söz konusu olduğunda, bu DSL ile konuşmanız gerekir. Neden basit dil sınavları için insan dilini taklit ediyor, karmaşık diller oldukça robotik. Kişisel olarak, genel programlama dillerinden daha az tanımlayıcı buluyorum:

*** Ayarlar ***
Kütüphane Dize
*** Test Durumları ***
For-Döngü-In-Range
 : 1 {INDEX} İÇİNDE ARALIK 1 1
 \ Günlük $ {INDEX}
 \ $ {RANDOM_STRING} = Rastgele Dize Oluştur $ {INDEX}
 \ Günlük $ {RANDOM_STRING}
For-Döngü-Elements
 @ {ITEMS} Liste Oluştur Star Trek Yıldız Savaşları Perry Rhodan
 : İÇİN $ {ELEMENT} IN @ {ÖĞELER}
 \ Giriş $ {ELEMENT}
 \ $ {ELEMENT} Dize Değiştir $ {ELEMENT} $ {SPACE} $ {EMPTY}
 \ Giriş $ {ELEMENT}
For-Döngü-Çıkma
 @ {ITEMS} Liste Oluştur Eleman İyi Öğe 1 Break Me Me İyi Öğe 2
 : İÇİN $ {ELEMENT} IN @ {ÖĞELER}
 \ Giriş $ {ELEMENT}
 \ $ Anahtar Kelime Çalıştır '$ {ELEMENT}' == 'Beni Kırın' Döngü için Çık
 \ Günlük Burada daha fazla işlem yapın ...
Tekrar-Eylem
 Tekrarla Anahtar Kelime 2 Günlüğü Bunu tekrarla ...

Ancak sözdizimi vurgulayan Robot Framework IDE iyidir, bu yüzden yine de çabucak alışabilirim.

Katalon Studio, diğer yandan, Groovy'yi ve elbette Java'yı (Groovy, Java'ya dayanmaktadır) destekler. Neden Java, C # veya JavaScript gibi ana programlama dilleri kadar popüler değil - Ruby, Python veya JavaScript'teki benzer üretken yapıları taşır. Başka bir iyi şey, her şeyi yapmak için tonlarca ücretsiz Java kütüphanesi olduğudur, bu yüzden “her şeyi” yeniden yazmak zorunda olmadık.

Ancak Katalon Studio'daki en havalı şey, istediğiniz zaman Manuel mod (Kaydedici ve tıkla ve tıkla GUI) ve Komut dosyası modu (Groovy editörü ile) arasında geçiş yapabilmemizdir. Manuel test cihazlarını kod yazması konusunda eğitmek için bundan faydalandık. İlk önce test senaryolarını bas-tık eylemleri ve elemanları ile tasarladılar, ardından eşdeğer Groovy kodunu görmek için Script moduna geçin. Çok güzel bir özellik.

Robot Çerçevesi - Katalon Stüdyosu: 0,5–1.

Test verisi

İkiside iyi. Test senaryolarına ait veriler Excel dosyalarından, veritabanlarından vb. Beslenebilir. İhtiyacımız olanı aldık, şimdiye kadar şikayet edecek bir şey yok.

Robot Çerçevesi - Katalon Studio: 1–1.

Anahtar kelime genişletilebilirliği

Özel anahtar kelimeleri hem Robot Framework hem de Katalon Studio'da yazabilirsiniz. Bazı art arda tören sözdizimi gerektiriyorlardı, ancak test uzmanları programcıların yardımı olmadan kendi anahtar kelimelerini yazabilirler. Belgeler ve dersler yeterince iyi, bu yüzden bunu kravat olarak bırakacağım. Robot Çerçevesi - Katalon Studio: 1–1.

İcra, Raporlama ve Entegrasyon

Modern test otomasyon araçlarının test durumlarını komut satırı üzerinden ve CI benzeri Jenkins ile yürütmesini bekliyoruz. Ayrıca hataları incelemeyi kolaylaştırmak için uygulama içi raporlara da ihtiyacımız var. Raporlar ayrıca arşivlenebilir biçimde (HTML, CSV, PDF) hazırlanmalı ve böylece daha sonra aranabilmelidir.

Katalon Studio, JIRA'yı kullandığımızdan beri bana iyi gelen, daha doğal bir JIRA entegrasyonu ile deniyor, ancak ne kadar işe yarayacağını göreyim.

Her ikisinde de eksik olan bir şey CI dağıtımı ve yapılandırması için zamanı kısaltan bir görüntü, ama belki de sadece tembellik.

Benim için başka bir kravat. Robot Çerçevesi - Katalon Studio: 1–1.

Topluluk ve destek

Her iki ürün de aktif bir gelişim içindedir ve sahiplerinin yanı sıra topluluk tarafından da desteklenir. Sorular çok kısa sürede cevaplanır. Dahası, Robot Framework ve Katalon Studio, Selenyum tabanlı olduğu için, karmaşık senaryolar için vanilya Selenyum ve WebDriver'a başvurabiliriz.

Katalon Studio'nun yazılım test hizmetleri veren bir şirket tarafından yapıldığı anlaşılıyor, bu da hangi özelliklerin pratik ve gerekli olduğunu bildikleri anlamına geliyor. Robot Framework GitHub'da popüler bir açık kaynak kodlu bir proje olduğundan ben de aynı şeyi bekliyorum.

Buradaki son kravat. Robot Çerçevesi - Katalon Studio: 1–1.

Sonuç

Robot Çerçevesi: 7.5 / 9 - Katalon Atölyesi: 9/9.

Her iki araç da test otomasyonu ekipleri için mükemmel seçimlerdir, Katalon Studio'nun kullanıcı deneyimi konusunda üstünlüğü vardır ve bu nedenle test cihazı tabanlı test otomasyonu ekibi için Robot Framework'ten daha iyidir. Rekabet her zaman tüketiciler için iyidir ve gelecekte oyunculardan daha fazla gelişme görmeyi dört gözle bekliyorum.

Blog yazım: Robot Framework vs Katalon Studio