Selenium บทช่วยสอน C # พร้อมตัวอย่าง NUnit

Selenium ภาพรวมสินค้า

Selenium เป็นเว็บโอเพ่นซอร์ส การทดสอบระบบอัตโนมัติ เครื่องมือที่รองรับเบราว์เซอร์หลายตัวและระบบปฏิบัติการหลายระบบ ช่วยให้ผู้ทดสอบสามารถใช้ภาษาการเขียนโปรแกรมหลายภาษา เช่น Java, C#, Python, .Net, Ruby, PHP และ Perl สำหรับการเข้ารหัสการทดสอบอัตโนมัติ

ภาพรวม C#

C# เป็นภาษาโปรแกรมเชิงวัตถุที่ได้มาจาก C++ และ JavaC# ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันโดยใช้ Visual Studio บนแพลตฟอร์ม .Net ได้ ต่อไปนี้คือคุณสมบัติหลักของ C#.

  1. เป็นภาษาโปรแกรมเชิงวัตถุ
  2. รองรับการพัฒนาคอนโซล, Windows และแอพพลิเคชั่นบนเว็บ
  3. โดยมีคุณสมบัติต่างๆ เช่น การห่อหุ้ม การสืบทอด และความหลากหลาย

ไวยากรณ์พื้นฐานของ C#

โปรแกรมใน C# จะต้องประกอบด้วยส่วนต่างๆ ต่อไปนี้

  1. การประกาศเนมสเปซ
  2. เรียน
  3. คุณสมบัติและวิธีการของคลาส
  4. วิธีหลัก
  5. คำสั่งโปรแกรม

ตัวอย่าง-

ด้านล่างเป็นตัวอย่าง Selenium โปรแกรมตัวอย่าง C# เพื่อพิมพ์ข้อความ 'Guru99' บนคอนโซลระบบ

using System;
namespace FirstProgram {
class DemoPrint {
static void main(){
    Console.WriteLine("Guru99");
	}
  }
}

คำอธิบาย:

  • เนมสเปซในข้างต้น Selenium ตัวอย่าง C# คือชุดของหลายคลาส แต่ละเนมสเปซจะต้องประกาศโดยใช้คีย์เวิร์ด 'using'
  • คำสั่งแรกของโค้ดจะมีเนมสเปซ 'ระบบ' อยู่ในโปรแกรมของเรา เนมสเปซของระบบกำหนดคลาสพื้นฐานและเหตุการณ์ที่ใช้ใน C# เนมสเปซที่จะใช้ขึ้นอยู่กับข้อกำหนดของโปรแกรม
  • คำสั่งที่สองคือการประกาศเนมสเปซ “FirstProgram” สำหรับคลาส “DemoPrint” ไฟล์ AC# สามารถมีหลายคลาสภายในเนมสเปซเดียวกัน
  • คำสั่งที่สามรวมถึงการประกาศชั้นเรียน คลาสอาจมีหลายแอตทริบิวต์และหลายวิธี
  • คำสั่งที่สี่รวมถึงการประกาศวิธีการหลัก วิธีการหลักคือจุดเริ่มต้นของการดำเนินการสำหรับแต่ละคลาส
  • คำสั่งสุดท้ายคือไวยากรณ์ C# ที่ใช้สำหรับการพิมพ์คำสั่งไปยังคอนโซล WriteLine เป็นวิธีการของคลาส 'Console.

Selenium ด้วยการตั้งค่า C#

วิธีการตั้งค่า Visual Studio ด้วย Selenium เว็บไดร์เวอร์:

ตอนนี้อยู่ในนี้ Selenium บทช่วยสอน C# มาเรียนรู้ขั้นตอนการตั้งค่า Visual Studio ทีละขั้นตอนด้วย Selenium เว็บไดร์เวอร์:

Visual Studio เป็นสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) ที่ใช้โดยนักพัฒนาเพื่อสร้างแอปพลิเคชันบนแพลตฟอร์มต่างๆ เช่น Windows, Android, iOS และแอพพลิเคชั่นบนคลาวด์

ขั้นตอน 1) ไปที่ URL

https://visualstudio.microsoft.com/downloads/ และคลิกที่ 'ดาวน์โหลดฟรี' ปุ่มที่แสดงบนแท็บ Visual Studio Community

ตั้งค่า Visual Studio ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 2) เปิด exe ที่ดาวน์โหลดมา คลิกที่ 'ใช่' หากถูกถามถึงสิทธิ์ผู้ดูแลระบบ

ตั้งค่า Visual Studio ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 3) ป๊อปอัปด้านล่างจะปรากฏขึ้น คลิกที่ปุ่ม 'ดำเนินการต่อ'

ตั้งค่า Visual Studio ด้วย Selenium WebDrive

ไฟล์จะถูกดาวน์โหลดตามที่แสดงในป๊อปอัปด้านล่าง

ตั้งค่า Visual Studio ด้วย Selenium WebDrive

ขั้นตอน 4) ในหน้าจอถัดไป

เลือกช่องกาเครื่องหมายสำหรับ

  • สากล Windows การพัฒนาแพลตฟอร์ม
  • การพัฒนาเดสก์ท็อป .Net

คลิกที่ 'ติดตั้ง'

ตั้งค่า Visual Studio ด้วย Selenium WebDrive

รอให้การติดตั้งแต่ละส่วนประกอบเสร็จสิ้น ไฟล์มีขนาด 16GB และต้องใช้เวลา

ตั้งค่า Visual Studio ด้วย Selenium WebDrive

ขั้นตอน 5) ป๊อปอัปด้านล่างจะปรากฏขึ้น คลิกปุ่ม 'รีสตาร์ท'

ตั้งค่า Visual Studio ด้วย Selenium WebDrive

ขั้นตอน 6) เมื่อรีสตาร์ทเครื่องแล้ว ให้ค้นหา “Visual Studio” บนเมนูเริ่ม แล้วคลิกที่ผลการค้นหา ป๊อปอัปต่อไปนี้จะปรากฏขึ้น คลิกที่ลิงก์ “ไม่ใช่ตอนนี้ อาจจะภายหลัง” หากคุณยังไม่มีบัญชี

ตั้งค่า Visual Studio ด้วย Selenium WebDrive

ขั้นตอน 7) ในหน้าจอถัดไป

  • เลือกธีมสีที่คุณชื่นชอบ
  • คลิกปุ่ม “เริ่ม Visual Studio'”

ตั้งค่า Visual Studio ด้วย Selenium WebDrive

ขั้นตอน 8) หน้าจอ 'เริ่มต้นใช้งาน' ของ Visual Studio จะปรากฏขึ้น

ตั้งค่า Visual Studio ด้วย Selenium WebDrive

สร้างโครงการใหม่ใน Visual Studio:

ขั้นตอน 1) ในเมนูไฟล์ คลิก ใหม่ > โครงการ

สร้างโครงการใหม่ใน Visual Studio

ขั้นตอน 2) ในหน้าจอถัดไป

  1. เลือกตัวเลือก 'Visual C#'
  2. คลิกที่แอปคอนโซล (.Net Framework)
  3. ใส่ชื่อเป็น “Guru99”
  4. คลิกตกลง

สร้างโครงการใหม่ใน Visual Studio

ขั้นตอน 3) หน้าจอข้างล่างจะปรากฏขึ้นเมื่อสร้างโครงการสำเร็จแล้ว

สร้างโครงการใหม่ใน Visual Studio

ตั้งค่า Visual Studio ด้วย Selenium เว็บไดร์เวอร์:

ขั้นตอน 1) ไปที่เครื่องมือ -> NuGet ตัวจัดการแพ็คเกจ -> จัดการ NuGet แพ็คเกจสำหรับโซลูชั่น

ตั้งค่า Visual Studio ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 2) ในหน้าจอถัดไป

  1. ค้นหา Selenium บนหน้าจอผลลัพธ์
  2. เลือกผลการค้นหาแรก
  3. ทำเครื่องหมายถูกในช่องกาเครื่องหมายโครงการ
  4. คลิกที่ 'ติดตั้ง'

ตั้งค่า Visual Studio ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 3) คลิกที่ปุ่ม 'ตกลง' ในหน้าจอป๊อปอัป

ตั้งค่า Visual Studio ด้วย Selenium ไดรเวอร์เว็บ

ขั้นตอน 4) ข้อความด้านล่างนี้จะปรากฏขึ้นเมื่อติดตั้งแพ็คเกจสำเร็จแล้ว

ตั้งค่า Visual Studio ด้วย Selenium ไดรเวอร์เว็บ

กรอบงาน NUnit: ภาพรวม

NUnit คือ การทดสอบหน่วย กรอบงานที่ได้รับการสนับสนุนโดย Visual Studio และ Selenium WebDriver NUnit เป็นกรอบงานการทดสอบยูนิตที่ใช้กันอย่างแพร่หลายที่สุดสำหรับแอปพลิเคชัน .Net NUnit นำเสนอผลการทดสอบในรูปแบบที่อ่านได้ และอนุญาตให้ผู้ทดสอบแก้ไขจุดบกพร่องของการทดสอบอัตโนมัติ

เราจำเป็นต้องติดตั้ง NUnit Framework และ NUnit Test Adapter ลงใน Visual Studio เพื่อใช้งาน

ขั้นตอนในการติดตั้ง NUnit Framework

ตอนนี้อยู่ในนี้ Selenium ด้วยบทช่วยสอน C# มาเรียนรู้กระบวนการติดตั้งเฟรมเวิร์ก NUnit กันดีกว่า:

ขั้นตอน 1) ไปที่เครื่องมือ -> NuGet ตัวจัดการแพ็คเกจ -> จัดการ NuGet แพ็คเกจสำหรับโซลูชั่น

ติดตั้งกรอบงาน NUnit

ขั้นตอน 2) ในหน้าต่างถัดไป

  1. ค้นหา NUnit
  2. เลือกผลการค้นหา
  3. เลือกโครงการ
  4. คลิกติดตั้ง

ติดตั้งกรอบงาน NUnit

ขั้นตอน 3) ป๊อปอัปด้านล่างจะปรากฏขึ้น คลิกที่ปุ่ม 'ตกลง'

ติดตั้งกรอบงาน NUnit

ขั้นตอน 4) ข้อความด้านล่างนี้จะปรากฏขึ้นเมื่อการติดตั้งเสร็จสมบูรณ์

ติดตั้งกรอบงาน NUnit

ขั้นตอนในการดาวน์โหลด NUnit Test Adapter

ในบทช่วยสอน NUnit นี้ เราจะกล่าวถึงขั้นตอนในการดาวน์โหลด NUnit Test Adapter:

โปรดทราบว่าขั้นตอนด้านล่างนี้ใช้ได้กับเครื่องที่ใช้ 32 บิตเท่านั้น สำหรับเครื่องที่ใช้ 64 บิต คุณต้องดาวน์โหลด 'NUnit3 Test Adapter' โดยทำตามขั้นตอนเดียวกันกับที่ระบุไว้ด้านล่าง

ขั้นตอน 1) ไปที่เครื่องมือ -> NuGet ตัวจัดการแพ็คเกจ -> จัดการ NuGet แพ็คเกจสำหรับโซลูชั่น ในหน้าจอนั้น

  1. ค้นหา NUnitTestAdapter
  2. คลิกผลการค้นหา
  3. เลือกโครงการ
  4. คลิกติดตั้ง

ดาวน์โหลดอะแดปเตอร์ทดสอบ NUnit

ขั้นตอน 2) คลิกตกลงบนหน้าต่างป๊อปอัปยืนยัน เมื่อการติดตั้งเสร็จสิ้น คุณจะเห็นข้อความต่อไปนี้

ดาวน์โหลดอะแดปเตอร์ทดสอบ NUnit

Selenium และกรอบงาน NUnit

การบูรณาการของเซเลเนียมกับกรอบงาน NUnit ช่วยให้ผู้ทดสอบสามารถแยกความแตกต่างระหว่างคลาสการทดสอบต่างๆ ได้ นอกจากนี้ NUnit ยังช่วยให้ผู้ทดสอบสามารถใช้คำอธิบายประกอบ เช่น SetUp, Test และ TearDown เพื่อดำเนินการก่อนและหลังการเรียกใช้การทดสอบ

สามารถรวมเฟรมเวิร์ก NUnit เข้าด้วยกันได้ Selenium โดยการสร้างคลาสทดสอบ NUnit และรันคลาสทดสอบโดยใช้เฟรมเวิร์ก NUnit

ขั้นตอนด้านล่างนี้ Selenium จำเป็นต้องมีบทช่วยสอนเกี่ยวกับเฟรมเวิร์ก C# เพื่อสร้างและรันคลาสทดสอบโดยใช้เฟรมเวิร์ก NUnit

ขั้นตอนในการสร้างคลาสทดสอบ NUnit Selenium:

ขั้นตอน 1) ใน Solution Explorer คลิกขวาที่โปรเจ็กต์ > เพิ่ม > คลาส

สร้างคลาสทดสอบ NUnit ใน Selenium

ขั้นตอน 2) หน้าต่างสร้างชั้นเรียนจะปรากฏขึ้น

  1. ระบุชื่อให้กับชั้นเรียน
  2. คลิกที่ปุ่มเพิ่ม

สร้างคลาสทดสอบ NUnit ใน Selenium

ขั้นตอน 3) หน้าจอด้านล่างจะปรากฏขึ้น

สร้างคลาสทดสอบ NUnit ใน Selenium

ขั้นตอน 4) เพิ่มโค้ดต่อไปนี้ลงในคลาสที่สร้างขึ้น โปรดทราบว่าคุณต้องระบุตำแหน่งของไฟล์ 'chromdriver.exe' ในระหว่างการเริ่มต้นไดรเวอร์ Chrome

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class Guru99Demo						
    {
        IWebDriver driver;

        [SetUp]
		public void startBrowser()
        {
            driver = new ChromeDriver("D:\\3rdparty\\chrome");
        }

        [Test]
		public void test()
        {
            driver.Url = "http://www.google.co.in";
        }

        [TearDown]
		public void closeBrowser()
        {
            driver.Close();
        }

    }
}

ขั้นตอน 4) คลิกที่ 'สร้าง' -> 'สร้างโซลูชัน'

สร้างคลาสทดสอบ NUnit ใน Selenium

หมายเหตุ: คุณอาจได้รับข้อผิดพลาดเช่น "ไม่มีวิธี 'หลัก' แบบคงที่ที่เหมาะสมสำหรับจุดเริ่มต้น" เมื่อคุณสร้าง

สร้างคลาสทดสอบ NUnit ใน Selenium

เพื่อแก้ไขปัญหานี้ ให้ไปที่โครงการ > คุณสมบัติ และเปลี่ยนประเภทเอาต์พุตเป็น "Class Library" ค่าเริ่มต้นคือ “แอปพลิเคชันคอนโซล”

สร้างคลาสทดสอบ NUnit ใน Selenium

ขั้นตอน 5) เมื่อสร้างสำเร็จแล้ว เราจะต้องเปิดหน้าต่าง Test Explorer คลิกที่การทดสอบ -> Windows -> ทดสอบ Explorer

สร้างคลาสทดสอบ NUnit ใน Selenium

ขั้นตอน 6) หน้าต่าง Test Explorer จะเปิดขึ้นพร้อมกับรายการการทดสอบที่มีอยู่ คลิกขวาที่ Test Explorer และเลือก Run Selected Tests

สร้างคลาสทดสอบ NUnit ใน Selenium

ขั้นตอน 7) Selenium จะต้องเปิดเบราว์เซอร์ด้วย URL ที่ระบุและปิดเบราว์เซอร์ สถานะกรณีทดสอบจะเปลี่ยนเป็น 'ผ่าน' ในหน้าต่าง Test Explorer

สร้างคลาสทดสอบ NUnit ใน Selenium

Selenium คำสั่ง WebDriver ใน C #

C# ใช้อินเทอร์เฟซ 'IWebDriver' สำหรับการโต้ตอบกับเบราว์เซอร์ ต่อไปนี้คือหมวดหมู่ของคำสั่งที่พร้อมใช้งาน Selenium ใน C#

  1. คำสั่งเบราว์เซอร์
  2. คำสั่งองค์ประกอบเว็บ
  3. คำสั่งแบบเลื่อนลง

ตอนนี้อยู่ใน Selenium กวดวิชา C Sharp มาศึกษากัน Selenium WebDriver สั่งงานทีละรายการ

คำสั่งเบราว์เซอร์:

ต่อไปนี้เป็นรายการคำสั่งเบราว์เซอร์ที่มีอยู่ใน C# ด้วย Selenium.

ชื่อคำสั่ง Descriptไอออน วากยสัมพันธ์
คำสั่ง URL คำสั่งนี้ใช้เพื่อเปิด URL ที่ระบุในเบราว์เซอร์
driver.Url = "https://www.guru99.com"
ชื่อเรื่อง คำสั่ง คำสั่งนี้ใช้เพื่อเรียกชื่อหน้าของหน้าเว็บที่เปิดอยู่ในปัจจุบัน
String title = driver.Title
คำสั่งเพจซอร์ส คำสั่งนี้ใช้เพื่อดึงซอร์สโค้ดของหน้าเว็บที่เปิดอยู่ในปัจจุบัน
String pageSource = driver.PageSource
ปิดคำสั่ง คำสั่งนี้ใช้เพื่อปิดอินสแตนซ์เบราว์เซอร์ที่เพิ่งเปิดใหม่
driver.Close();
ออกจากคำสั่ง คำสั่งนี้ใช้เพื่อปิดอินสแตนซ์ของเบราว์เซอร์ที่เปิดอยู่ทั้งหมด
driver.Quit();
คำสั่งกลับ คำสั่งนี้ใช้เพื่อนำทางไปยังหน้าก่อนหน้าของประวัติเบราว์เซอร์
driver.Navigate().Back();
คำสั่งไปข้างหน้า คำสั่งนี้ใช้เพื่อนำทางไปยังหน้าถัดไปของประวัติเบราว์เซอร์
driver.Navigate().Forward()
รีเฟรชคำสั่ง คำสั่งนี้ใช้เพื่อทำการรีเฟรชเบราว์เซอร์
driver.Navigate().Refresh()

คำสั่งองค์ประกอบเว็บ

Webelement จะแสดงองค์ประกอบทั้งหมดบนเว็บเพจ โดยแสดงด้วยแท็ก HTML ปุ่ม กล่องข้อความ ลิงก์ รูปภาพ ตาราง และเฟรมต่างๆ อยู่ภายใต้ Webelements Operaการกำหนดองค์ประกอบบนเว็บสามารถเรียกใช้ได้โดยใช้อินเทอร์เฟซ IWebelement หากต้องการโต้ตอบกับองค์ประกอบบนเว็บ เราจำเป็นต้องค้นหาองค์ประกอบบนเว็บเพจแล้วดำเนินการกับองค์ประกอบนั้น เครื่องมือเช่น Firebug และ Firepath สามารถใช้เพื่อระบุองค์ประกอบบนเว็บเพจได้ เอ็กซ์พาธ ของ Webelement

ต่อไปนี้เป็นรายการคำสั่ง Webelement ที่มีอยู่ใน C#

ชื่อคำสั่ง Descriptไอออน วากยสัมพันธ์
คลิกคำสั่ง คำสั่งนี้ใช้สำหรับคลิกบนองค์ประกอบบนเว็บ หากต้องการให้องค์ประกอบนั้นคลิกได้ องค์ประกอบนั้นจะต้องมองเห็นได้บนหน้าเว็บ คำสั่งนี้ใช้สำหรับการดำเนินการกับช่องกาเครื่องหมายและปุ่มตัวเลือกด้วยเช่นกัน
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.Click();
คำสั่งที่ชัดเจน คำสั่งนี้ใช้สำหรับการล้างเนื้อหาที่มีอยู่ของกล่องข้อความโดยเฉพาะ
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.Clear();
คำสั่ง SendKeys คำสั่งนี้ใช้เพื่อป้อนค่าลงในกล่องข้อความ ค่าที่จะป้อนจะต้องส่งเป็นพารามิเตอร์
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.SendKeys("guru99");
คำสั่งที่แสดง คำสั่งนี้ใช้เพื่อระบุว่าองค์ประกอบเฉพาะใดจะแสดงบนเว็บเพจหรือไม่ คำสั่งนี้ส่งคืนค่าบูลีน ซึ่งอาจเป็น true หรือ false ขึ้นอยู่กับความสามารถในการมองเห็นขององค์ประกอบบนเว็บ
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Displayed;
คำสั่งที่เปิดใช้งาน คำสั่งนี้ใช้เพื่อระบุว่ามีการเปิดใช้งานองค์ประกอบเว็บเฉพาะบนเว็บเพจหรือไม่ คำสั่งนี้ส่งคืนค่าบูลีน จริงหรือเท็จเป็นผล
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Enabled;
คำสั่งที่เลือก คำสั่งนี้ใช้เพื่อระบุว่ามีการเลือกองค์ประกอบเว็บเฉพาะหรือไม่ คำสั่งนี้ใช้สำหรับช่องกาเครื่องหมาย ปุ่มตัวเลือก และการดำเนินการเลือก
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Selected;
ส่งคำสั่ง: คำสั่งนี้คล้ายกับคำสั่งคลิก ความแตกต่างอยู่ที่ว่าฟอร์ม HTML มีปุ่มประเภทส่งหรือไม่ ขณะที่คำสั่ง click คลิกที่ปุ่มใดๆ คำสั่ง send จะคลิกที่ปุ่มเฉพาะที่มีประเภท send เท่านั้น
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.submit();
คำสั่งข้อความ คำสั่งนี้ส่งคืนข้อความภายในของ Webelement คำสั่งนี้ส่งคืนค่าสตริงตามผลลัพธ์
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String text=element.Text;
คำสั่งแท็กชื่อ คำสั่งนี้ส่งคืนแท็ก HTML ขององค์ประกอบเว็บ มันจะส่งกลับค่าสตริงเป็นผลลัพธ์
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  String tagName = element.TagName;
คำสั่ง GetCSSValue: วิธีการนี้ใช้เพื่อส่งคืนสีขององค์ประกอบเว็บในรูปแบบสตริง rgba (แดง เขียว น้ำเงิน และอัลฟ่า)
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String color = element.getCSSValue;

เอาท์พุต– หากสีขององค์ประกอบเป็นสีแดง ผลลัพธ์จะเป็น rgba(255,0,0,1)

คำสั่งแบบเลื่อนลง:

การดำเนินการดร็อปดาวน์ใน C# สามารถทำได้โดยใช้คลาส SelectElement

ต่อไปนี้เป็นการดำเนินการดรอปดาวน์ต่าง ๆ ที่มีใน C#

ชื่อคำสั่ง Descriptไอออน วากยสัมพันธ์
คำสั่ง SelectByText คำสั่งนี้เลือกตัวเลือกของดรอปดาวน์ตามข้อความของตัวเลือก
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
คำสั่ง SelectByIndex คำสั่งนี้ใช้เพื่อเลือกตัวเลือกตามดัชนี ดัชนีของดรอปดาวน์เริ่มต้นที่ 0
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
คำสั่ง SelectByValue คำสั่งนี้ใช้เพื่อเลือกตัวเลือกตามค่าตัวเลือก
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
คำสั่งตัวเลือก คำสั่งนี้ใช้เพื่อรับรายการตัวเลือกที่แสดงในแบบดรอปดาวน์
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
List<IWebelement> options = select. Options;
int size = options.Count;
for(int i=0;i<options.size();i++)
{
String value = size.elementAt(i).Text;
Console.writeLine(value);
}

โค้ดด้านบนจะพิมพ์ตัวเลือกทั้งหมดลงบนคอนโซลภายในเมนูแบบเลื่อนลง

คำสั่ง IsMultiple คำสั่งนี้ใช้เพื่อระบุว่าดรอปดาวน์เป็นดรอปดาวน์แบบเลือกหลายรายการหรือไม่ ดรอปดาวน์แบบเลือกหลายรายการช่วยให้ผู้ใช้สามารถเลือกได้มากกว่าหนึ่งตัวเลือกในดรอปดาวน์ในแต่ละครั้ง คำสั่งนี้ส่งคืนค่าบูลีน
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
คำสั่งยกเลิกการเลือกทั้งหมด คำสั่งนี้ใช้ในดรอปดาวน์แบบเลือกหลายรายการ จะล้างตัวเลือกที่เลือกไว้แล้ว
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectAll();
คำสั่ง DeSelectByIndex คำสั่งนี้จะยกเลิกการเลือกค่าที่เลือกไว้แล้วโดยใช้ดัชนี
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
คำสั่ง DeSelectByValue คำสั่งนี้จะยกเลิกการเลือกค่าที่เลือกไว้แล้วโดยใช้ค่าของมัน
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
คำสั่ง DeSelectByText คำสั่งนี้จะยกเลิกการเลือกค่าที่เลือกไว้แล้วโดยใช้ข้อความ
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");

ตัวอย่างโค้ด

ตัวอย่างที่ 1: คลิกลิงก์โดยใช้ XPATH Locator:

สถานการณ์การทดสอบ:

  1. ไปที่หน้าเว็บ Demo Guru99 – https://demo.guru99.com/test/guru99home/
  2. ขยายหน้าต่างให้ใหญ่สุด
  3. คลิกที่เมนู 'การทดสอบ'
  4. ปิดเบราว์เซอร์
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("D:\\3rdparty\\chrome");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();
            IWebelement link = m_driver.FindElement(By.XPath(".//*[@id='rt-header']//div[2]/div/ul/li[2]/a"));
            link.Click();
            m_driver.Close();
        }
    }
}

ตัวอย่างที่ 2: การป้อนข้อมูลลงในข้อความBox และคลิกที่ปุ่มโดยใช้ตัวระบุตำแหน่ง XPATH:

สถานการณ์การทดสอบ:

  1. ไปที่หน้าสาธิต Guru 99 – https://demo.guru99.com/test/guru99home/
  2. ป้อนข้อมูลลงในกล่องข้อความอีเมล์
  3. คลิกที่ปุ่มลงทะเบียน
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

             
			// Store locator values of email text box and sign up button				
            IWebElement emailTextBox = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-email']"));
            IWebElement signUpButton = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-submit']"));

            emailTextBox.SendKeys("test123@gmail.com");
            signUpButton.Click();
                        
        }
    }
}			

ตัวอย่างที่ 3: การป้อนข้อมูลลงในข้อความBox และคลิกที่ปุ่มโดยใช้ตัวระบุตำแหน่ง CSS:

สถานการณ์การทดสอบ:

  1. ไปที่หน้าสาธิต Guru 99 – https://demo.guru99.com/test/guru99home/
  2. ป้อนข้อมูลลงในกล่องข้อความอีเมล์
  3. คลิกที่ปุ่มลงทะเบียน
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

             
			// Store locator values of email text box and sign up button				
            IWebElement emailTextBox = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-email]"));
            IWebElement signUpButton = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-submit]"));

            emailTextBox.SendKeys("test123@gmail.com");
            signUpButton.Click();

             
        }
    }
}

ตัวอย่างที่ 4: เลือกค่าในเมนูแบบเลื่อนลง:

สถานการณ์การทดสอบ:

  1. ไปที่หน้าสาธิต Guru 99 – https://demo.guru99.com/test/guru99home/
  2. คลิกที่ SAP ลิงค์
  3. ป้อนข้อมูลลงในกล่องข้อความชื่อและอีเมล์
  4. เลือกค่าจากเมนูแบบเลื่อนลงหลักสูตร
  5. ปิดเบราว์เซอร์
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;


namespace Guru99Demo
{
	class TestSelect						
    {
        IWebDriver m_driver;

        [Test]
		public void selectDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

            IWebElement course = m_driver.FindElement(By.XPath(".//*[@id='awf_field-91977689']"));

			var selectTest = new SelectElement(course);
			// Select a value from the dropdown				
            selectTest.SelectByValue("sap-abap");
                        
        }
    }
}

สรุป

  • เพื่อที่จะใช้ Selenium WebDriver ที่มี C# คุณจำเป็นต้องติดตั้ง Visual Studio
  • NUnit เป็นกรอบงานการทดสอบยูนิตที่ได้รับการสนับสนุนโดย Visual Studio และ Selenium ไดรเวอร์เว็บ
  • เราจำเป็นต้องติดตั้ง NUnit Framework และ NUnit Test Adapter ลงใน Visual Studio เพื่อใช้งาน
  • สามารถรวมเฟรมเวิร์ก NUnit เข้าด้วยกันได้ Selenium โดยการสร้างคลาสทดสอบ NUnit และรันคลาสทดสอบโดยใช้เฟรมเวิร์ก NUnit
  • NUnit ยังอนุญาตให้ผู้ทดสอบใช้คำอธิบายประกอบ เช่น SetUp, Test และ TearDown เพื่อดำเนินการก่อนและหลังรันการทดสอบ
  • Selenium คำสั่ง WebDriver สามารถแบ่งออกเป็นคำสั่งเบราว์เซอร์ คำสั่ง Webelement และคำสั่งแบบเลื่อนลง