Daha fazla ayrıntı vermek için, üç çerçevede (UI uyarısı için Selenium kullanılarak) çoğaltılmasını istediğimiz bir dizi testimiz var: IE, Mozilla ve Chrome. İlk çözüm, testlerin ayrı test sınıflarında kopyalanmasıydı, yani her bir test sınıfı, kurucuda farklı bir çerçeve ile aynı 20 test vakasına sahipti.Birden çok çerçevede (internet tarayıcıları) otomatik entegrasyon testlerini çoğaltma çabaları olmadan nasıl kullanabilirim?
/// <summary>
/// The non-default constructor that initializes
/// necessary instances of objects that are being used
/// </summary>
public VerifyViewUsingChrome() {
_testBases = new Dictionary<FunctionalTestBase.DriverType, TestBase>();
_testBases.Add(FunctionalTestBase.DriverType.Chrome, new TestBase(FunctionalTestBase.DriverType.Chrome));
_testBases.Add(FunctionalTestBase.DriverType.IE, new TestBase(FunctionalTestBase.DriverType.IE));
_testBases.Add(FunctionalTestBase.DriverType.FireFox, new TestBase(FunctionalTestBase.DriverType.FireFox));
}
/// <summary>
/// Our simple country display test.
/// </summary>
[InlineData(FunctionalTestBase.DriverType.Chrome)]
[InlineData(FunctionalTestBase.DriverType.FireFox)]
[InlineData(FunctionalTestBase.DriverType.IE)]
[Theory]
public void TestADisplayedForACountry(FunctionalTestBase.DriverType testBase) {
_testBases[testBase].TestADisplayedForACountry();
}
olan bazı gerektiren bu uygulama ile sorun 3 uygulamalar her bir test için çalışıyor olması yani: ikinci çözelti, bir giriş olarak, her çerçeve tipi ile parametreli girişler (veya bir xunit teori) kullanmaktı havai. İdeal olarak, tüm IE testlerini çalıştırırız, daha sonra Firefox çerçevesini oluşturup Chrome ile devam etmeden önce bu testleri çalıştırırız.
Bir test çerçevesi kullanmak mümkün olmayabilir, ancak derleme sunucumuzla uygun bağlantılarımız vardır, bu nedenle test formatını korumak ideal olacaktır.
Selenium kullanıyor musunuz? – trailmax
Evet. Bu yüzden UI'yi uyarıyoruz. –
Belki de bu soru veya etiketlerde belirtilmelidir. Ama artık ter yok - size uygun çözümü buldunuz. – trailmax