Selenium ile kullanıcı arabirimi testi

  1. Visual Studio, dosya menüsünü açın ve yeni Project' i seçin, ardından Test ' i seçin ve birim testi Project' nı seçin. alternatif olarak, çözümün kısayol menüsünü açın ve sonra yeni Projectekle ' yi ve ardından birim testi Project' ni seçin.

  2. Proje oluşturulduktan sonra, testleri yürütmek için tarayıcı tarafından kullanılan Selenium ve Browser sürücü başvurularını ekleyin. birim testi projesinin kısayol menüsünü açın ve NuGet paketlerini yönet' i seçin. Aşağıdaki paketleri projenize ekleyin:

    • Selenium. WebDriver
    • Selenium. Firefox. WebDriver
    • Selenium. WebDriver. Kmedriver
    • Selenium. WebDriver. ıedriver

    Çözümünüze tarayıcı sürücü paketleri ekleme

  3. Testlerinizi oluşturun. örneğin, aşağıdaki kod, Bing. com web sitesinde basit bir test gerçekleştiren myseleniumtests adlı bir varsayılan sınıf oluşturur. Web uygulamanızı veya Web sitenizi test etmek için, Thebingsearchtest Işlevinin Içeriğini Selenium kodu ile değiştirin. Setuptest işlevindeki tarayıcı atamasını, test için kullanmak istediğiniz tarayıcıya değiştirin.

    using System;
    using System.Text;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using OpenQA.Selenium;			
    using OpenQA.Selenium.Firefox;	
    using OpenQA.Selenium.Chrome;	
    using OpenQA.Selenium.IE;
    
    namespace SeleniumBingTests
    {
      /// <summary>
      /// Summary description for MySeleniumTests
      /// </summary>
      [TestClass]
      public class MySeleniumTests
      {
        private TestContext testContextInstance;
        private IWebDriver driver;
        private string appURL;
    
        public MySeleniumTests()
        {
        }
    
        [TestMethod]
        [TestCategory("Chrome")]
        public void TheBingSearchTest()
        {
          driver.Navigate().GoToUrl(appURL + "/");
          driver.FindElement(By.Id("sb_form_q")).SendKeys("Azure Pipelines");
          driver.FindElement(By.Id("sb_form_go")).Click();
          driver.FindElement(By.XPath("//ol[@id='b_results']/li/h2/a/strong[3]")).Click();
          Assert.IsTrue(driver.Title.Contains("Azure Pipelines"), "Verified title of the page");
        }
    
        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
          get
          {
            return testContextInstance;
          }
          set
          {
            testContextInstance = value;
          }
        }
    
        [TestInitialize()]
        public void SetupTest()
        {
          appURL = "http://www.bing.com/";
    
          string browser = "Chrome";
          switch(browser)
          {
            case "Chrome":
              driver = new ChromeDriver();
              break;
            case "Firefox":
              driver = new FirefoxDriver();
              break;
            case "IE":
              driver = new InternetExplorerDriver();
              break;
            default:
              driver = new ChromeDriver();
              break;
          }
    
        }
    
        [TestCleanup()]
        public void MyTestCleanup()
        {
          driver.Quit();
        }
      }
    }
    
  4. Test Gezgini 'ni kullanarak Selenium testini yerel olarak çalıştırın ve çalışıp çalışmadığını denetleyin.

Derleme işlem hattınızı tanımlama

Selenium testlerinizi oluşturan bir sürekli tümleştirme (CI) derleme işlem hattının olması gerekir. Daha ayrıntılı bilgi için bkz. Windows için .net masaüstü uygulamanızı oluşturma.

Web uygulamanızı oluşturma

Test etmek için bir Web uygulaması gerekir. Mevcut bir uygulamayı kullanabilir veya sürekli dağıtım (CD) yayın işlem hattınızda dağıtabilirsiniz. yukarıdaki örnek kod Bing. com ' a karşı testler çalıştırır. Web uygulaması dağıtmak üzere kendi yayın işlem hattınızı ayarlama hakkında daha fazla bilgi için bkz. Azure Web Apps dağıtma.

Uygulamanızı nasıl dağıtacağınızı ve test etme kararı verin

Uygulamanızı Azure 'da Microsoft tarafından barındırılan aracı veya hedef sunuculara yüklediğiniz şirket içinde barındırılan bir aracı kullanarak dağıtabilir ve test edebilirsiniz.

  • microsoft tarafından barındırılan aracıkullanırken, microsoft tarafından barındırılan aracı görüntülerinde yüklü tarayıcı sürümleriyle uyumlu olduklarından Windows aracılarında önceden yüklenmiş olan selenium web sürücülerini ( barındırılan VS 20xxadlı aracılar) kullanmanız gerekir. Bu sürücüleri içeren klasörlerin yolları IEWebDriver (Internet Explorer), ChromeWebDriver (Google Chrome) ve GeckoWebDriver (Firefox) adlı ortam değişkenlerinden elde edilebilir. Sürücüler Linux, Ubuntu ve macOS aracıları gibi diğer aracılara önceden yüklenmemiştir . Ayrıca bkz. UI testi konuları.

  • Hedef sunucularınızda dağıttığınız şirket içinde barındırılan bir aracı kullanırken, aracıların otomatik oturum açma özelliği etkinken etkileşimli olarak çalışacak şekilde yapılandırılması gerekir. Bkz. derleme ve yayın aracıları ve UI testi konuları.

Testi bir yayına dahil et

Note: bu örnek Visual Studio test platformu yükleyicisi görevini ve Visual Studio test görevinin en son sürümünü kullanır. Bu görevler TFS 2015 veya TFS 2017 ' de kullanılamaz. bu TFS sürümlerindeki selenium testlerini çalıştırmak için, Visual Studio Test aracısı dağıtımını kullanmanız ve bunun yerine işlevsel testler görevlerini çalıştırmanız gerekir.

  1. Web uygulamanızı dağıtan bir yayın işlem hattı yoksa:

    • Azure DevOps veya TFS 'deki derleme yayını hub 'ında yayınlarAzure Pipelines sayfasını açın (bkz. Web portalı gezintisi) ve simgeyi seçip yayın işlem hattı oluştur' u seçin.

      Yeni bir yayın işlem hattı oluşturma

    • Azure App Service dağıtım şablonunu seçin ve Uygula' yı seçin.

    • işlem hattı sekmesinin Artifacts bölümünde + ekle' yi seçin. Yapı yapıtlarınızı seçin ve Ekle' yi seçin.

      Yapıtları seçme

    • işlem hattı sekmesinin Artifacts bölümünde sürekli dağıtım tetikleyicisi simgesini seçin. Sürekli dağıtım tetikleyicisi bölmesinde, her derlemeden yeni bir yayın oluşturulacak şekilde tetikleyiciyi etkinleştirin. Varsayılan dal için bir filtre ekleyin.

      Sürekli dağıtımı yapılandırma

    • Görevler sekmesini açın, 1. aşama bölümünü seçin ve abonelik bilgilerinizi ve uygulamayı ve Testleri dağıtmak istediğiniz Web uygulamasının adını girin. Bu ayarlar Azure App Service dağıt görevine uygulanır.

      Değişkenleri yapılandırma

  2. uygulamanızı ve testlerinizi, aracıların barındırtığı hedef makinelerin yüklü Visual Studio yüklü olmadığı ortamlara dağıtıyorsanız:

    • Yayın işlem hattının Görevler sekmesinde aracıyı Çalıştır bölümünde simgesini seçin. Test platformu yükleyicisi görevini Visual Studio seçin ve ekle' yi seçin. Tüm ayarları varsayılan değerlerinde bırakın.

      Visual Studio Test platformu yükleyicisi görevi ekleme

      Arama metin kutusunu kullanarak bir görevi daha kolay bir şekilde bulabilirsiniz.

  3. Yayın işlem hattının Görevler sekmesinde aracıyı Çalıştır bölümünde simgesini seçin. Visual Studio Test görevi ' ni seçin ve ekle' yi seçin.

    Visual Studio Test görevi ekleme

  4. işlem hattınızı Visual Studio test platformu yükleyicisi görevini eklediyseniz, Visual Studio test görevinin yürütme seçenekleri bölümündeki test platformu sürümü ayarını araçlar yükleyicisi tarafından yüklenecekşekilde değiştirin.

    Test platformu sürümü ayarlanıyor

    Derleme ardışık düzeninde parametreleri test kodumu Nasıl yaparım? mi geçirin?

  5. Yayın ardışık düzenini kaydedin ve yeni bir yayın başlatın. Bunu yeni bir CI derlemesini sıraya koyarak veya yayın işlem hattındaki yayın açılır listesinden yayın oluştur ' u seçerek yapabilirsiniz.

    Yeni Yayın oluşturma

  6. Test sonuçlarını görüntülemek için, yayınlar sayfasından yayın özetini açın ve testler bağlantısını seçin.

Sonraki adımlar

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015 | Visual Studio 2017 | Visual Studio 2015

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde, derleme ve yayın işlem hatlarıtanımlarolarak adlandırılır, çalışmalaraderlemelerdenir, hizmet bağlantılarınahizmet uç noktalarıdenir, aşamalarortamlarolarak adlandırılır ve işleraşamalarolarak adlandırılır.

Yayın işlem hattının bir parçası olarak Kullanıcı arabirimi (UI) testi gerçekleştirmek, beklenmeyen değişikliklerin algılanmasının harika bir yoludur ve zor olmaması gerekir. Bu konuda, sürekli dağıtım sürümü ve test Otomasyonu sırasında Web sitenizi test etmek için Selenium kullanılması açıklanmaktadır. UI testlerini çalıştırırken uygulanan özel noktalar, UI testi konusundaele alınmıştır.

Genellikle, uygulamanız dağıtıldıktan sonra (genellikle bir QA ortamına) yapı iş akışınızda derleme iş akışınızda birim testlerini ve işlevsel (UI) testlerinizi çalıştırırsınız.

Selenium tarayıcı otomasyonu hakkında daha fazla bilgi için bkz.:

Test projenizi oluşturma

Selenium testi için şablon olmadığından, başlamak için en kolay yol birim testi şablonunu kullanmaktır. bu, test çerçevesi başvurularını otomatik olarak ekler ve Visual Studio test gezgini ' nden sonuçları görüntülemenizi ve görüntülemenizi sağlar.