2013-03-26 14 views
10

TestNG, her bir yöntem için yeni bir test sınıfı örneği oluşturmak için nasıl zorlanır? Test modu, her mod için parallel="methods" çalışma modu ise TestNG'yi yeni bir test sınıfı örneği oluşturmak için nasıl zorlanır?TestNG, çalışma modu paralel = "method"

JUnit bunu otomatik olarak yapar ama TestNG yöntemleri arasında aynı örneği yeniden kullanır.

Bu davranışı değiştirmek için herhangi bir seçenek var mı?

Selenium testleri çalıştırıyorum ve @BeforeMethod yönteminde web tarayıcısı oluşturuyorum ve bunu test yöntemlerinde kullanmak üzere sınıf değişkenine depolayın ve @AfterMethod numaralı bölüme kapatın.

Ayrıca webdriver'ı paylaşmadan bir test sınıfının yöntemlerini paralel olarak çalıştırabiliyorum.

+0

Sadece yapıcı içinde alanlarınızı atayarak istediğiniz etkiyi elde edebilirsiniz. –

+1

Bu işe yaramaz - yapıcı sadece bir kez çağrılır. – shiggity

cevap

0

Ödeme Factory

javadoc Gönderen:

Marks a method as a factory that returns objects that will be used by TestNG as Test classes. The method must return Object[]. 
2

bunu TestNG zorlama yolu yoktur. Çözüm, webdriver örneğini threadlocal değişkenine ayarlamaktır. Bunu yapan yardımcı olacağını u değişkeni bir get yaparsanız o, iplik başına bunu bir webdriver nesnesi oluşturmak istiyorsunuz. Sadece bu thread'ın nesnesini veririm.

0

ben paralel olarak birden selenyum webdriver testler TestNG kullandım. Her yöntem için yeni bir WebDriver kurmak için, @Test ek açıklamada @DataProvider annotation ve ilişkili özniteliğini kullanın.