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
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
Dan digunakan sebagai IDE
Selenium menyokong banyak penyemak imbas, tetapi saya terlalu malas untuk mengganggu segala-galanya dan mengehadkan diri saya Chrome'om, setelah dipasang
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"
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
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".
Automasi yang berjaya =)
Sumber: www.habr.com