Salatalık - Komut Satırı Seçenekleri
Salatalık hemen hemen her bilgisayar sistemini test etmek için kullanılabilir. Şimdiye kadar Eclipse IDE kullanarak nasıl test çalıştırılacağını gördük. Hıyar testini komut satırı arayüzünden çalıştırmanın bir yolu daha var. Peki bunu yapmanın avantajı nedir?
Terminalden herhangi bir test çerçevesini çalıştırmanın, kodda belirtilen çalıştırma yapılandırmalarını geçersiz kılmak gibi kendi avantajları vardır.
Hıyar testini komut istemi ile yürütmek için, sistem konfigürasyonundan sonra aşağıdaki adımları kullanın.
Step 1- adlı bir Maven Test Projesi oluşturun commandLine.
Dosya → Yeni → Diğerleri → Maven → Maven Projesi → İleri'ye gidin.
Grup kimliği sağlayın (grup kimliği, tüm projelerde projenizi benzersiz şekilde tanımlar).
Yapı Kimliği sağlayın (yapı kimliği, sürümsüz kavanozun adıdır. Küçük harfli herhangi bir adı seçebilirsiniz).
Finish'e tıklayın.
Pom.xml dosyasını açın -
Eclipse'in sol tarafındaki paket gezginine gidin.
CucumberTest projesini genişletin.
Bul pom.xml dosya.
Sağ tıklayın ve "Metin Düzenleyici" ile Aç seçeneğini seçin.
Selenium için bağımlılık ekle - Bu, hangi Selenium jar dosyalarının merkezi depodan yerel depoya indirileceğini Maven'i gösterecektir.
Açık pom.xml, düzenleme modunda, proje etiketinin içinde bağımlılıklar etiketi (<dependencies> </dependencies>) oluşturun.
Bağımlılıklar etiketinin içinde bağımlılık etiketi oluşturun. (<dependency> </dependency>).
Bağımlılık etiketi içinde aşağıdaki bilgileri sağlayın.
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.47.1</version>
</dependency>
Cucumber-Java için bağımlılık ekle - Bu, merkezi depodan yerel depoya hangi Cucumber dosyalarının indirileceğini Maven'i gösterecektir.
Bir tane daha bağımlılık etiketi oluşturun.
Bağımlılık etiketi içinde aşağıdaki bilgileri sağlayın.
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.0.2</version>
<scope>test</scope>
</dependency>
Cucumber-JUnit için bağımlılık ekle - Bu, merkezi depodan yerel depoya hangi Cucumber JUnit dosyalarının indirileceğini Maven'i gösterecektir.
Bir tane daha bağımlılık etiketi oluşturun.
Bağımlılık etiketi içinde aşağıdaki bilgileri sağlayın.
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.0.2</version>
<scope>test</scope>
</dependency>
JUnit için bağımlılık ekle - Bu, merkezi depodan yerel depoya hangi JUnit dosyalarının indirileceğini Maven'i gösterecektir.
Bir tane daha bağımlılık etiketi oluşturun.
Bağımlılık etiketi içinde aşağıdaki bilgileri sağlayın.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
İkili dosyaları doğrulayın.
Pom.xml başarıyla düzenlendikten sonra kaydedin.
Projeye Git → Temizle - Birkaç dakika sürecektir.
Step 2 - src / test / java altında "anahat" adlı bir paket oluşturun
Step 3 - "commandLine.feature" adlı bir özellik dosyası oluşturun.
Paket taslağını seçin ve sağ tıklayın.
'Yeni' dosyaya tıklayın.
Dosyaya "commandLine.feature" gibi bir ad verin
Metnin altına dosya içinde yazın ve kaydedin.
Feature - Senaryo Taslağı
Scenario Outline - Bir sosyal ağ sitesi için oturum açma işlevi.
Kullanıcının Facebook'a gitmesi durumunda
Kullanıcı adını "<kullanıcı adı>" ve Parolayı "<parola>" olarak girdiğimde
O zaman giriş başarısız olmalı
Örnekler
| username | password |
| username1 | password1 |
| username2 | password2 |
Note- Burada, örnek ek açıklama, senaryo çalıştırıldığında sağlanacak girdi aralığını açıklamaktadır. Sağlanan girdilerin her biri için test senaryosu yürütülecektir. Dolayısıyla verilen örnekte test senaryosu üç kez yürütülecektir.
Step 4 - Bir adım tanımlama dosyası oluşturun.
Paket taslağını seçin ve sağ tıklayın.
'Yeni' dosyaya tıklayın.
Dosyayı şu şekilde adlandırın: commandLine.java
Aşağıdaki metni dosyanın içine yazın ve kaydedin.
package Outline;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import cucumber.annotation.en.Given;
import cucumber.annotation.en.Then; i
import cucumber.annotation.en.When;
public class stepdefinition {
WebDriver driver = null;
@Given("^user navigates to facebook$")
public void goToFacebook() {
driver = new FirefoxDriver();
driver.navigate().to("https://www.facebook.com/");
}
@When("^I enter Username as \"([^\"]*)\" and Password as \"([^\"]*)\"$")
public void I_enter_Username_as_and_Password_as(String arg1, String arg2) {
driver.findElement(By.id("email")).sendKeys(arg1);
driver.findElement(By.id("pass")).sendKeys(arg2);
driver.findElement(By.id("u_0_v")).click();
}
@Then("^login should be unsuccessful$")
public void validateRelogin() {
if(driver.getCurrentUrl().equalsIgnoreCase(
"https://www.facebook.com/login.php?login_attempt=1&lwv=110")){
System.out.println("Test Pass");
} else {
System.out.println("Test Failed");
}
driver.close();
}
}
Note- Kodda, iki giriş argümanına sahip bir fonksiyon tanımlamamız gerekir: biri kullanıcı adı ve diğeri şifre için olacaktır. Bu nedenle, örnek etiketinde sağlanan her girdi kümesi için GIVEN, WHEN ve THEN kümeleri çalıştırılacaktır.
Step 5 - Bir koşucu sınıfı dosyası oluşturun.
Paket taslağını seçin ve sağ tıklayın.
'Yeni' dosyaya tıklayın.
Dosyaya şunun gibi bir ad verin: runTest.java
Aşağıdaki metni dosyanın içine yazın ve kaydedin.
package Outline;
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@Cucumber.Options(format = {"pretty", "html:target/cucumber"})
public class runTest { }
Bir komut istemi açın.
Bu paket “commandLine” ın bulunduğu dizine gidin. e: \ Çalışma Alanı \ LoginTest \ src> cd testi \ java
Mvn test komutunu çalıştırın: Özellik dosyasında açıklanan tüm senaryonun yürütüldüğünü göreceksiniz (herhangi bir hata yoksa). Son olarak, alt kısımda aşağıdaki bilgileri bulacaksınız.
Sonuç
This describes the total test run, along with failure if any.
Önceki komut, JUnit Runner sınıfında belirtildiği gibi her şeyi çalıştırır. Bununla birlikte, Runner'da belirtilen konfigürasyonları geçersiz kılmak istiyorsak, bunu yapmak için birkaç örnek aşağıdadır.
Şimdi komut isteminde mvn test - Dcucumber.options = "- help" komutunu çalıştırın. Bunu çalıştırmak tüm mevcut seçenekleri yazdıracaktır.
Yalnızca belirli etiketleri çalıştırmak için, komut isteminde mvn test -Dcucumber.options = "- tags @SmokeTest" komutunu çalıştırın. Yalnızca @ SmokeTest ile işaretlenmiş etiketleri çalıştıracaktır.
Sonucun formatını değiştirmek için komut isteminde E: \ Workspace \ LoginTest> mvn test -Dcucumber.options = "- plugin junit: target / cucumber-junit-report.xml" komutunu çalıştırın Raporu değiştirir JUnit rapor oluşturucu formatı.