การทดสอบซีลีเนียมบน C # บน Linux

ระบบอัตโนมัติของการทดสอบแอปพลิเคชันเว็บโดยใช้ ซีลีเนียม วิธีแก้ปัญหาทั่วไปสำหรับนักพัฒนาที่ทดสอบอัตโนมัติและ C# หนึ่งในภาษาการเขียนโปรแกรมที่ได้รับความนิยมมากที่สุด ดังนั้นการใช้เครื่องมือเหล่านี้ร่วมกันจึงไม่ทำให้เกิดคำถามใดๆ เพื่อพัฒนาโดยใช้เทคโนโลยีเหล่านี้ มักใช้ซอฟต์แวร์ที่เป็นกรรมสิทธิ์ยอดนิยมจาก Microsoft สำหรับ Windows แต่ฉันสนใจที่จะรู้ว่าอะนาล็อกฟรีใดบ้างที่สามารถใช้ได้โดยไม่ต้องออกจากสแต็ก Selenium + C# สำหรับงานนี้

เนื่องจากฉันไม่พบบทความภาษารัสเซียในหัวข้อนี้ ฉันจะแบ่งปันประสบการณ์ของฉันในการตั้งค่าสภาพแวดล้อมสำหรับการพัฒนาและแก้ไขการทดสอบอัตโนมัติใน C# บน Linux

ระบบปฏิบัติการที่ใช้คือ Kubuntu 18.04 64 บิตพร้อมเคอร์เนล Linux 4.15.0-99-ทั่วไป ติดตั้งจากอิมเมจ ISO ที่ดาวน์โหลดจาก เว็บไซต์อย่างเป็นทางการ. ฉันเชื่อว่าการแจกจ่าย Linux ที่ทันสมัยและค่อนข้างเป็นที่นิยมจะทำได้

คอมไพเลอร์ Mono JIT เวอร์ชัน 6.6.0.166 ทำหน้าที่เป็น CLR สำหรับ C# การติดตั้งประกอบด้วยการคัดลอกและดำเนินการคำสั่งตามลำดับไปยังเทอร์มินัล (ใน Kubuntu นี่คือ Konsole) ด้วย ของหน้านี้.

และใช้เป็น IDE MonoDevelop 7.8.4 (บิลด์ 2)ติดตั้งคล้ายกับโมโน

Selenium รองรับเบราว์เซอร์จำนวนมาก แต่ฉันขี้เกียจเกินไปที่จะยุ่งกับทุกสิ่งและจำกัดตัวเองอยู่ Chrome'om, มีการติดตั้ง แพ็คเกจ .deb 64 บิต.

ต่อไป เราจะสร้างโซลูชันใน MonoDevelop:

  • เปิดตัว MonoDevelop
  • ไปที่เมนู "ไฟล์"
  • เลือก “สร้างโซลูชัน”
  • คลิก “.NET”
  • เลือก “โครงการห้องสมุด NUnit” และคลิก “ถัดไป”
  • ระบุชื่อและเส้นทางของโซลูชัน คลิก "สร้าง"

การทดสอบซีลีเนียมบน C # บน Linux

ในการควบคุมเบราว์เซอร์ คุณจะต้องมีแพ็คเกจ NuGet สองสามแพ็คเกจด้วย:

  • ไปที่เมนู "โครงการ" และเลือก "เพิ่มแพ็คเกจ NuGet"
  • ค้นหาและติดตั้งแพ็คเกจ Selenium.WebDriver
  • ค้นหาและติดตั้งแพ็คเกจ Selenium.WebDriver.ChromeDriver

การทดสอบซีลีเนียมบน C # บน Linux

เหลือเพียงการเขียนโค้ดเพื่อตรวจสอบว่าทุกอย่างได้รับการกำหนดค่าตามที่ควร เมื่อสร้างโซลูชัน ไฟล์สำหรับวิธีทดสอบ Test.cs จะถูกสร้างขึ้นโดยอัตโนมัติ โดยฉันใส่โค้ดสองสามบรรทัดต่อไปนี้:

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();
        }
    }
}

การทดสอบเริ่มต้นจากแท็บ "การทดสอบหน่วย" หากไม่ปรากฏขึ้น ให้ไปที่เมนู "มุมมอง" และเลือก "ทดสอบ"

การทดสอบซีลีเนียมบน C # บน Linux

ระบบอัตโนมัติที่ประสบความสำเร็จ =)

ที่มา: will.com

เพิ่มความคิดเห็น