Ujian selenium pada C# pada Linux

Automasi ujian aplikasi web menggunakan Selenium penyelesaian biasa di kalangan pembangun autotest, dan C# salah satu bahasa pengaturcaraan yang paling popular, jadi gabungan alat ini tidak menimbulkan sebarang persoalan. Untuk membangunkan menggunakan teknologi ini, perisian proprietari popular dari Microsoft untuk Windows sering digunakan, tetapi saya berminat untuk mengetahui analog percuma yang boleh digunakan tanpa berlepas dari timbunan Selenium + C# untuk tugas ini.

Memandangkan saya tidak menemui sebarang artikel berbahasa Rusia mengenai topik ini, saya akan berkongsi pengalaman saya dalam menyediakan persekitaran untuk membangunkan dan menyahpepijat ujian auto dalam C# di Linux.

OS yang digunakan ialah Kubuntu 18.04 64-bit dengan kernel Linux 4.15.0-99-generik, dipasang daripada imej ISO yang dimuat turun daripada laman rasmi. Saya percaya mana-mana pengedaran Linux moden dan agak popular akan berjaya.

Pengkompil Mono JIT versi 6.6.0.166 bertindak sebagai CLR untuk C#. Pemasangannya terdiri daripada menyalin dan melaksanakan perintah secara berurutan ke dalam terminal (dalam Kubuntu ini Konsole) dengan muka surat ini.

Dan digunakan sebagai IDE MonoDevelop 7.8.4 (bina 2), dipasang sama seperti Mono.

Selenium menyokong banyak penyemak imbas, tetapi saya terlalu malas untuk mengganggu segala-galanya dan mengehadkan diri saya Chrome'om, setelah dipasang Pakej .deb 64-bit.

Seterusnya, kami mencipta penyelesaian dalam MonoDevelop:

  • melancarkan MonoDevelop
  • pergi ke menu "Fail".
  • pilih "Buat penyelesaian"
  • klik β€œ.NET”
  • pilih β€œNUnit Library Project” dan klik β€œNext”
  • nyatakan nama dan laluan penyelesaian, klik "Buat"

Ujian selenium pada C# pada Linux

Untuk mengawal penyemak imbas, anda juga memerlukan beberapa pakej NuGet:

  • pergi ke menu "Projek" dan pilih "Tambah Pakej NuGet"
  • cari dan pasang pakej Selenium.WebDriver
  • cari dan pasang pakej Selenium.WebDriver.ChromeDriver

Ujian selenium pada C# pada Linux

Itu sahaja, yang tinggal hanyalah menulis beberapa kod untuk memastikan semuanya dikonfigurasikan sebagaimana mestinya. Apabila mencipta penyelesaian, fail untuk kaedah ujian Test.cs dicipta secara automatik, di mana saya meletakkan beberapa baris kod berikut:

using NUnit.Framework;
using System;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium;

namespace SeleniumTests
{
    [TestFixture()]
    public class Test
    {
        [Test()]
        public void TestCase()
        {
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("http://habr.com/");
            Assert.IsTrue(driver.Url.Contains("habr.com"), "Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ =(");
            driver.Quit();
        }
    }
}

Ujian dilancarkan daripada tab "Ujian Unit"; jika ia tidak dipaparkan, pergi ke menu "Lihat" dan pilih "Ujian".

Ujian selenium pada C# pada Linux

Automasi yang berjaya =)

Sumber: www.habr.com

Tambah komen