2016-03-30 16 views
2

Appium ve test konusunda oldukça yeniyim. Eclipse ve JUnit kullanarak Java'da ilk testlerimi yazmak istiyorum.Appium - Java'da test yazımı ile ilgili sorular

Zaten hiçbir şey yapmadan basit bir test yazmıştım. Şimdiye kadar derliyor ama ne olduğunu bilmiyorum ...

Genel olarak testlerin nasıl çalıştığını bilmek istiyorum. Programlama konusunda biraz tecrübem var ve bu yüzden devam eden bazı eylemler bana biraz garip geliyor :).

Örneğin:

public class AppiumIOSTest { 

    private WebDriver driver; 

    @Before 
    public void setUp() throws Exception { 

     DesiredCapabilities capabilities = new DesiredCapabilities(); 
     capabilities.setCapability("platformName", "ios"); 
     capabilities.setCapability("platformVersion", "9.2"); 
     capabilities.setCapability("deviceName","iPhone 6"); 
     capabilities.setCapability("app", "TestApp.app"); 


     driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
    } 

    @After 
    public void tearDown() throws Exception { 
     driver.quit(); 
    } 


    @Test 
    public void testScriptGoesHere() throws Exception { 

    } 
} 

Ama belgelerine bulabileceğiniz böyle bir test düzeni yazmak için bana söyleyen: Bildiğim kadarıyla gördüğünüz gibi tüm test düzenleri buna benziyor. Demek istediğim, neden ilk olarak setUp() deniliyor - ve nereden? Bir kurucu ve yıkıcıya ihtiyacım var mı? Neden testScriptGoesHere() deniliyor ve tek bir testten daha fazlası var mı?

Uygulamadaki UI öğelerine nasıl erişmem gerekiyor? İyi uygulama nedir ve hangi yöntemleri kullanmamalıyım?

Kullanabileceğim bir belgeye sahip olmak istiyorum. Şimdiye kadar Google'da hiçbir şey bulamadım ama belki anahtar kelimelerim eşleşmiyor ...?

Selamlar.

+3

junit dokümanlar okumak hakkında daha fazla bilgi edinmek istiyorsanız buraya: http://junit.sourceforge.net/javadoc/ burada appium en tanıtımı: http://appium.io/introduction .html? lang = en iyi uygulamalar – nullpointer

+0

kullanıcılarına göre modüle edildi. Soruları çok geniş – nullpointer

+0

olarak işaretleyerek teşekkür ederiz. Appium'un belgelerini zaten biliyordum. Ama dokümanlar benim meselem konusunda bana yardımcı olmadı. Örneğin: 'setUp() 'yöntemini yeniden adlandırabilir miyim? Yoksa bu isim tanımı herhangi bir yerde belirlenmiş mi? –

cevap

1

Hey Appium ile biraz iş yaptım ve buna alışması biraz zaman aldı.

Öncelikle bu Appium tutorial kapalı büyük bir yardım oldu ve ayrıca JUnit bu öğretici de kodunuzda önemli şey Açıklamalar olduğunu not etmek

Bir şey çok yararlı olduğu tespit @Before, @After vb en önemli ve setUp() yönteminin adı değil.

setUp() yöntemi, her testten önce çalışır, çünkü @Before ek açıklamasından ve her zaman aygıtın özelliklerini, aygıt adını, sürümünü, platform adını ve test edilecek uygulamanın bağlantısını/adını eklemeniz gerekir. Bunlar daha sonra appium sunucusuna bağlanmalıdır.

testScriptGoesHere() yöntem nedeniyle @Test ek açıklama koştu ve uygulamada geçiyor sürecini otomatik kodunu dahil istiyorum budur edilir - Birden fazla @Test yöntemleri olabilir vb etkinlikler gezinmek, örneğin giriş için ve program her çalıştırıldığında her biri çalıştırılacaktı.

Şahsen ben this satın aldı ve çok iyi bir yardımcı bulundu.

JUnit sınamaları ek açıklamalardan dolayı çalıştırıldığı için herhangi bir kurucu veya kod çözücü gerekli değildir.

Yerel Android uygulamalarını test etmek için, öğelere erişmek üzere UIAutomatorViewer'ı kullandım. Karma uygulamalar için, öğeleri görüntülemek üzere Xcode'u kullandığım Google Chrome konsolunu ve iOS uygulamalarını kullandım.

+0

Teşekkür ederim. Sadece 1 testten daha fazlasını belirtirsek hangi sırayla test yürütülür? –

+0

Bildiğim kadarıyla yukarıdan aşağıya doğru sıralanırlar. – Dan

+0

@SteveMurdock: Herhangi biri için 'dependsOnMethod' belirtmediğiniz sürece testler rastgele yürütülür. Bu, anlamanıza yardımcı olacaktır: http://stackoverflow.com/questions/3693626/how-to-run-test-methods-in-specific-order-in-junit4 – nullpointer

1

Bu link, özellikle, junit tarafından kullanılan farklı ek açıklamaları, junit hakkında iyi bir genel bakış sağlar.

0

@Test, @Before ve yöntem tanımı yukarıda kullanılan ek notlar @Before olduğunda yürütmek ve yürütmek nasıl yöntemini anlatır

@Test -> Açıklamalar yöntem test durumu gerçekleştiren serisi olduğunu tanımlamak için kullanılır Adımlar ve beklenen sonuçla eşleşen gerçek sonuç. @Before ve @After -> ek açıklamaları kılavuzlarını önce ve her test durumda sonra yürütülecek yöntemi anlamına

Şimdi

yapabilirsiniz her test durumda önce çalıştırır yöntem kurulumunda (yazılmış kod) görmek ve test durumu için Appium API çağrıları destek (Bu uygulamayı başlatmak için platform kurulumunu içerir). Aynı şekilde teardown yöntemi uygulamayı kapattı ve test vakası uygulamasını durdurur.

Eğer Appium sonra bu Appium Tutorial