Nasıl yapılır: Verilerle Çalışan Kodlanmış UI Testi Oluşturma
Oluşturabileceğiniz bir kodlanmış UI testi bir uygulama için kullanıcı arabirimi (UI) işlevleri doğru olup olmadığını sınar. Kodlanmış UI testi, uygulama için kullanıcı arabirimi denetlemeleri eylemlerini gerçekleştirir ve belirtilen denetimlerin doğru değerlerle gösterildiğini doğrular. Kodlanmış UI testi oluşturma hakkında daha fazla bilgi için, bkz. Kodlanmış UI testleri oluşturma.
Gereksinimler
- Visual Studio Ultimate, Visual Studio Premium
Belirli bir veri ile kodlanmış UI testinizi oluşturduktan sonra, kodlanmış UI testinizi birden çok kez farklı koşullarda test etmek için farklı veri kümeleriyle çalıştırmak isteyebilirsiniz. Bunu yapmak için, verilerle çalışan bir kodlanmış UI test oluşturmak üzere bir veri kaynağından parametre değerleri ekleyebilirsiniz. Veri kaynağındaki her sıra kodlanmış UI testinin bir yinelemesidir. Genel test sonucu, tüm yinelemelerin sonucunu temel alır. Örneğin, bir test yinelemesi başarısız olursa genel test sonucu başarısız olur.
Kodlanmış UI testleriniz için kaydederek yöntemler veya onaylar oluşturduğunuzda, kaydedilmiş yöntemlerdeki başvurulan tüm sabitler parametre sınıflarında parametrelenir. Örneğin, AddTwoNumbers adlı yöntemi eklerseniz, kodlanmış Kullanıcı Arabirimi test çerçevesi AddTwoNumbersParams adlı bir başka sınıf oluşturur ve yöntemi kaydederken kullandığınız her sabit değer için bu sınıfa bir alan ekler. AssertForAdd adlı onay yöntemi oluşturursanız, çerçeve beklenen değerler için AssertforAddExpectedValues adlı bir sınıf ekler. Bu sınıflar, otomatik olarak oluşturulur ve aşağıdaki adımlarda kullanılır.
Test parametreleri, testin kaynak kodu dosyasına yapılması için bir veri kaynağı kullanmasını sağlamak için yapılan tüm değişiklikler (ben.e.CodedUITest1.cs). UIMap.Designer.cs dosyasındaki kodu değiştiremezsiniz.
Kodlanmış UI testi oluşturduktan sonra, testinize veri kaynağı ve parametreler eklemek için aşağıdaki yordamdaki adımları kullanabilirsiniz. Bu örnekte, bu kod öğelerinin çözümünüz içinde olduğu varsayılır:
CodedUITest1. adlı kodlanmış UI testi sınıfı
CodedUITestMethod1(). adlı bir test yöntemi
Test yöntemi, iki sayıyı ekleyen ve bunları birlikte testin geçmesi için düzgün bir şekilde ekleyen basit hesap makinası uygulamasıdır.
Veri kaynağı aşağıdaki verileri içeren .csv dosyasıdır:
Input1 |
Input2 |
ExpectedResult (Beklenen sonuç): |
---|---|---|
3 |
4 |
7 |
5 |
6 |
11 |
1200 |
24000 |
25200 |
Dosya oluşturma ve kodlanmış UI test projenize ekleyin.
Verilerle Çalışan Kodlanmış UI Testi Oluşturma
Verilerle çalışan kodlanmış UI testi oluşturmak için
İçinde Çözüm Gezgini, kodlanmış UI test projenizi içeren çözümü açın ve sonra düzenleme için kodlanmış UI testi açın.
Veri kaynağı özniteliğinin doğrudan test yönteminize hemen üstündeki satırda kod ekleyin. Kodunuza kopyalayarak aşağıdaki tabloda örnek veri kaynak dizeleri kullanır ve gereken Özelleştirmeleri yapın.
Kaynak türü tarih
Veri kaynağı özniteliğinin
CSV
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\data.csv", "data#csv", DataAccessMethod.Sequential), DeploymentItem("data.csv"), TestMethod]
Excel
DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=|DataDirectory|\\Data.xls;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod]
Team Foundation Server'da test çalışması
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase", "http://vlm13261329:8080/tfs/DefaultCollection;Agile", "30", DataAccessMethod.Sequential), TestMethod]
XML
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\data.xml", "Iterations", DataAccessMethod.Sequential), DeploymentItem("data.xml"), TestMethod]
sql Express
[DataSource("System.Data.SqlClient", "Data Source=.\\sqlexpress;Initial Catalog=tempdb;Integrated Security=True", "Data", DataAccessMethod.Sequential), TestMethod]
Veri kaynağı artık bu test yönteminde kullanmanız için kullanılabilir. Veri kaynağınızdaki geçerli veri sırasına erişmek için TestContext.DataRow kullanın. Aşağıdaki sözdizimini kullanarak her sütuna erişebilirsiniz:
string paramVal = TestContext.DataRow["Input1"]
Çözüm Gezgini'nde, CodedUITest1.cs dosyasını açın. CodedUITestMethod1() yöntemine aşağıdaki değişiklikleri uygulayın:
Eklenecek sayılara değer sağlamak için aşağıdaki iki kod satırını AddTwoNumbers yöntemine çağrıdan önce ekleyin.
this.UIMap.AddTwoNumbersParams.TextInput1EditText = TestContext.DataRow["Input1"].ToString(); this.UIMap.AddTwoNumbersParams.TextInput2EditText = TestContext.DataRow["Input2"].ToString();
İzin yöntemine değer sağlamak için AssertforAdd yöntemine çağrıdan önce aşağıdaki kod satırını ekleyin.
this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = TestContext.DataRow["ExpectedResult"].ToString();
Bu, kodlanmış UI testi yönteminin parametreler ve ona eklenen veri kaynağıyla nasıl görünmesi gerektiğidir:
[DeploymentItem("DataDriven.csv"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\DataDriven.csv", "DataDriven#csv", DataAccessMethod.Sequential), TestMethod] public void CodedUITestMethod1() { // To generate code for this test, select "Generate Code for // Coded UI Test" from the shortcut menu and select one of // the menu items. this.UIMap.AddTwoNumbersParams.TextInput1EditText = TestContext.DataRow["Input1"].ToString(); this.UIMap.AddTwoNumbersParams.TextInput2EditText = TestContext.DataRow["Input2"].ToString(); this.UIMap.AddTwoNumbers(); this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = TestContext.DataRow["ExpectedResult"].ToString(); this.UIMap.AssertforAdd(); }
Değişiklikleri CodedUITest1.cs kaynak kodu dosyasına kaydedin.
Kodlanmış UI testinizi çalıştırmak için kodlanmış UI testi Kod Düzenleyicisi'nde sağ tıklatın ve seçin Birim Testleri Çalıştır.
Testler yürütüldükten sonra, testin tüm yinelemelerine ilişkin genel test sonuçları Test Sonuçları penceresinde görüntülenir. Her yinelemenin ayrıntılarını görmek için, Test Sonuçları penceresindeki teste çift tıklatın.
Kılavuz
Ek bilgi için bkz: Visual Studio 2012 – bölüm 2 ile sürekli teslimat için sınama: birim testi: iç sınama ve Visual Studio 2012 – Bölüm 5 ile sürekli teslimat için sınama: sistem testleri otomatikleştirme
Ayrıca bkz.
Başvuru
Kavramlar
Kodlanmış Kullanıcı Arabirimi Testleri Kullanarak Kod Doğrulama
Kodlanmış UI Testleri için En İyi Yöntemler
Kodlanmış UI Testleri ve Eylem Kayıtları için Desteklenen Yapılandırmalar ve Platformlar