Selenium ile kullanıcı arabirimi testi

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Yayın işlem hattının bir parçası olarak kullanıcı arabirimi (UI) testi gerçekleştirmek, beklenmeyen değişiklikleri algılamanın harika bir yoludur ve zor olması gerekmez. Bu konuda, sürekli dağıtım sürümü ve test otomasyonu sırasında web sitenizi test etmek için Selenium'un kullanılması açıklanmaktadır. UI testlerini çalıştırırken geçerli olan özel noktalar, kullanıcı arabirimi testi konusunda dikkat edilmesi gerekenler bölümünde ele alınmalıdır.

Genellikle derleme iş akışınızda birim testleri ve uygulamanız dağıtıldıktan sonra yayın iş akışınızda işlevsel (UI) testleri çalıştırırsınız (genellikle bir Soru-Cevap ortamına).

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

Test projenizi oluşturma

Selenium testi için şablon olmadığından, kullanmaya başlamanın en kolay yolu Birim Testi şablonunu kullanmaktır. Bu, test çerçevesi başvurularını otomatik olarak ekler ve Visual Studio Test Gezgini'nden sonuçları çalıştırmanızı ve görüntülemenizi sağlar.

  1. Visual Studio'da Dosya menüsünü açın ve Yeni Proje'yi seçin, ardından Test'iseçin ve Birim Testi Projesi'ni seçin. Alternatif olarak, çözümün kısayol menüsünü açın ve Ekle'yi, ardından Yeni Proje'yi ve ardından Birim Testi Projesi'ni seçin.

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

    • Selenium.WebDriver
    • Selenium.Firefox.WebDriver
    • Selenium.WebDriver.ChromeDriver
    • Selenium.WebDriver.IEDriver

    Tarayıcı sürücüsü paketlerini çözümünüze 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. TheBingSearchTest işlevinin içeriğini web uygulamanızı veya web sitenizi test etmek için gereken Selenium koduyla değiştirin. SetupTest işlevindeki tarayıcı atamasını test için kullanmak istediğiniz tarayıcıyla 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ı gerekir. Diğer ayrıntılar 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 bir uygulama dağıtabilirsiniz. Yukarıdaki örnek kod, Bing.com karşı testler çalıştırır. Bir web uygulamasını dağıtmak için kendi yayın işlem hattınızı ayarlama hakkında ayrıntılı bilgi için bkz . Azure Web Apps'e dağıtma.

Uygulamanızı nasıl dağıtacağınız ve test edeceğinize karar verme

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

  • Microsoft tarafından barındırılan aracıyı kullanırken, Windows aracılarına önceden yüklenmiş Selenium web sürücülerini (Barındırılan VS 20xx adlı aracılar) kullanmanız gerekir çünkü bunlar Microsoft tarafından barındırılan aracı görüntülerinde yüklü tarayıcı sürümleriyle uyumludur. Bu sürücüleri içeren klasörlerin yolları (Internet Explorer), (Google Chrome) ChromeWebDriver ve GeckoWebDriver (Firefox) adlı IEWebDriver ortam değişkenlerinden elde edilebilir. Sürücüler Linux, Ubuntu ve macOS aracıları gibi diğer aracılara önceden yüklenmez. Ayrıca bkz. UI testiyle ilgili dikkat edilmesi gerekenler.

  • 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 etkinken etkileşimli olarak çalışacak şekilde yapılandırılması gerekir. Bkz. Derleme ve yayın aracıları ve kullanıcı arabirimi testi konuları.

Testi bir sürüme ekleme

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

    • Azure DevOps'un Azure Pipelines bölümündeki Yayınlar sayfasını veya TFS'de Derleme ve Yayın hub'ını açın (bkz. Web portalı gezintisi) ve simgeyi + seçin ve ardından Yayın işlem hattı oluştur'u seçin.

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

    • Azure Uygulaması Hizmet Dağıtımı şablonunu seçin ve Uygula'yı seçin.

    • İşlem Hattı sekmesinin Yapıtlar bölümünde + Ekle'yi seçin. Derleme yapıtlarınızı seçin ve Ekle'yi seçin.

      Yapıtları seçme

    • İşlem Hattı sekmesinin Yapıtlar bölümünde Sürekli dağıtım tetikleyicisi simgesini seçin. Sürekli dağıtım tetikleyicisi bölmesinde tetikleyiciyi etkinleştirerek her derlemeden yeni bir sürüm oluşturun. Varsayılan dal için bir filtre ekleyin.

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

    • Görevler sekmesini açın, Aşama 1 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 Uygulaması Hizmeti Dağıt görevine uygulanır.

      Değişkenleri yapılandırma

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

    • Yayın işlem hattının Görevler sekmesinde Aracıdaçalıştır bölümündeki simgeyi seçin+. Visual Studio Test Platformu Yükleyicisi görevini seçin ve Ekle'yi seçin. Tüm ayarları varsayılan değerlerde bırakın.

      Visual Studio Test Platformu Yükleyicisi görevi ekleme

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

  3. Yayın işlem hattının Görevler sekmesinde Aracıdaçalıştır bölümündeki simgeyi seçin+. Visual Studio Test görevini seçin ve Ekle'yi seçin.

    Visual Studio Test görevi ekleme

  4. İşlem hattınıza 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üklendi olarak değiştirin.

    Test platformu sürümünü ayarlama

    Derleme işlem hattından test koduma parametreleri Nasıl yaparım? geçirebilirsiniz?

  5. Yayın işlem hattını kaydedin ve yeni bir sürüm başlatın. Bunu yapmak için yeni bir CI derlemesini kuyruğa alabilir veya yayın işlem hattındaki Yayın açılan listesinden Yayın oluştur'u seçebilirsiniz.

    Yeni sürüm oluşturma

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

Sonraki adımlar