Selenium บทช่วยสอน C # พร้อมตัวอย่าง NUnit
Selenium ภาพรวมสินค้า
Selenium เป็นเว็บโอเพ่นซอร์ส การทดสอบระบบอัตโนมัติ เครื่องมือที่รองรับเบราว์เซอร์หลายตัวและระบบปฏิบัติการหลายระบบ ช่วยให้ผู้ทดสอบสามารถใช้ภาษาการเขียนโปรแกรมหลายภาษา เช่น Java, C#, Python, .Net, Ruby, PHP และ Perl สำหรับการเข้ารหัสการทดสอบอัตโนมัติ
ภาพรวม C#
C# เป็นภาษาโปรแกรมเชิงวัตถุที่ได้มาจาก C++ และ JavaC# ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันโดยใช้ Visual Studio บนแพลตฟอร์ม .Net ได้ ต่อไปนี้คือคุณสมบัติหลักของ C#.
- เป็นภาษาโปรแกรมเชิงวัตถุ
- รองรับการพัฒนาคอนโซล, Windows และแอพพลิเคชั่นบนเว็บ
- โดยมีคุณสมบัติต่างๆ เช่น การห่อหุ้ม การสืบทอด และความหลากหลาย
ไวยากรณ์พื้นฐานของ C#
โปรแกรมใน C# จะต้องประกอบด้วยส่วนต่างๆ ต่อไปนี้
- การประกาศเนมสเปซ
- เรียน
- คุณสมบัติและวิธีการของคลาส
- วิธีหลัก
- คำสั่งโปรแกรม
ตัวอย่าง-
ด้านล่างเป็นตัวอย่าง 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
ขั้นตอน 2) เปิด exe ที่ดาวน์โหลดมา คลิกที่ 'ใช่' หากถูกถามถึงสิทธิ์ผู้ดูแลระบบ
ขั้นตอน 3) ป๊อปอัปด้านล่างจะปรากฏขึ้น คลิกที่ปุ่ม 'ดำเนินการต่อ'
ไฟล์จะถูกดาวน์โหลดตามที่แสดงในป๊อปอัปด้านล่าง
ขั้นตอน 4) ในหน้าจอถัดไป
เลือกช่องกาเครื่องหมายสำหรับ
- สากล Windows การพัฒนาแพลตฟอร์ม
- การพัฒนาเดสก์ท็อป .Net
คลิกที่ 'ติดตั้ง'
รอให้การติดตั้งแต่ละส่วนประกอบเสร็จสิ้น ไฟล์มีขนาด 16GB และต้องใช้เวลา
ขั้นตอน 5) ป๊อปอัปด้านล่างจะปรากฏขึ้น คลิกปุ่ม 'รีสตาร์ท'
ขั้นตอน 6) เมื่อรีสตาร์ทเครื่องแล้ว ให้ค้นหา “Visual Studio” บนเมนูเริ่ม แล้วคลิกที่ผลการค้นหา ป๊อปอัปต่อไปนี้จะปรากฏขึ้น คลิกที่ลิงก์ “ไม่ใช่ตอนนี้ อาจจะภายหลัง” หากคุณยังไม่มีบัญชี
ขั้นตอน 7) ในหน้าจอถัดไป
- เลือกธีมสีที่คุณชื่นชอบ
- คลิกปุ่ม “เริ่ม Visual Studio'”
ขั้นตอน 8) หน้าจอ 'เริ่มต้นใช้งาน' ของ Visual Studio จะปรากฏขึ้น
สร้างโครงการใหม่ใน Visual Studio:
ขั้นตอน 1) ในเมนูไฟล์ คลิก ใหม่ > โครงการ
ขั้นตอน 2) ในหน้าจอถัดไป
- เลือกตัวเลือก 'Visual C#'
- คลิกที่แอปคอนโซล (.Net Framework)
- ใส่ชื่อเป็น “Guru99”
- คลิกตกลง
ขั้นตอน 3) หน้าจอข้างล่างจะปรากฏขึ้นเมื่อสร้างโครงการสำเร็จแล้ว
ตั้งค่า Visual Studio ด้วย Selenium เว็บไดร์เวอร์:
ขั้นตอน 1) ไปที่เครื่องมือ -> NuGet ตัวจัดการแพ็คเกจ -> จัดการ NuGet แพ็คเกจสำหรับโซลูชั่น
ขั้นตอน 2) ในหน้าจอถัดไป
- ค้นหา Selenium บนหน้าจอผลลัพธ์
- เลือกผลการค้นหาแรก
- ทำเครื่องหมายถูกในช่องกาเครื่องหมายโครงการ
- คลิกที่ 'ติดตั้ง'
ขั้นตอน 3) คลิกที่ปุ่ม 'ตกลง' ในหน้าจอป๊อปอัป
ขั้นตอน 4) ข้อความด้านล่างนี้จะปรากฏขึ้นเมื่อติดตั้งแพ็คเกจสำเร็จแล้ว
กรอบงาน NUnit: ภาพรวม
NUnit คือ การทดสอบหน่วย กรอบงานที่ได้รับการสนับสนุนโดย Visual Studio และ Selenium WebDriver NUnit เป็นกรอบงานการทดสอบยูนิตที่ใช้กันอย่างแพร่หลายที่สุดสำหรับแอปพลิเคชัน .Net NUnit นำเสนอผลการทดสอบในรูปแบบที่อ่านได้ และอนุญาตให้ผู้ทดสอบแก้ไขจุดบกพร่องของการทดสอบอัตโนมัติ
เราจำเป็นต้องติดตั้ง NUnit Framework และ NUnit Test Adapter ลงใน Visual Studio เพื่อใช้งาน
ขั้นตอนในการติดตั้ง NUnit Framework
ตอนนี้อยู่ในนี้ Selenium ด้วยบทช่วยสอน C# มาเรียนรู้กระบวนการติดตั้งเฟรมเวิร์ก NUnit กันดีกว่า:
ขั้นตอน 1) ไปที่เครื่องมือ -> NuGet ตัวจัดการแพ็คเกจ -> จัดการ NuGet แพ็คเกจสำหรับโซลูชั่น
ขั้นตอน 2) ในหน้าต่างถัดไป
- ค้นหา NUnit
- เลือกผลการค้นหา
- เลือกโครงการ
- คลิกติดตั้ง
ขั้นตอน 3) ป๊อปอัปด้านล่างจะปรากฏขึ้น คลิกที่ปุ่ม 'ตกลง'
ขั้นตอน 4) ข้อความด้านล่างนี้จะปรากฏขึ้นเมื่อการติดตั้งเสร็จสมบูรณ์
ขั้นตอนในการดาวน์โหลด NUnit Test Adapter
ในบทช่วยสอน NUnit นี้ เราจะกล่าวถึงขั้นตอนในการดาวน์โหลด NUnit Test Adapter:
โปรดทราบว่าขั้นตอนด้านล่างนี้ใช้ได้กับเครื่องที่ใช้ 32 บิตเท่านั้น สำหรับเครื่องที่ใช้ 64 บิต คุณต้องดาวน์โหลด 'NUnit3 Test Adapter' โดยทำตามขั้นตอนเดียวกันกับที่ระบุไว้ด้านล่าง
ขั้นตอน 1) ไปที่เครื่องมือ -> NuGet ตัวจัดการแพ็คเกจ -> จัดการ NuGet แพ็คเกจสำหรับโซลูชั่น ในหน้าจอนั้น
- ค้นหา NUnitTestAdapter
- คลิกผลการค้นหา
- เลือกโครงการ
- คลิกติดตั้ง
ขั้นตอน 2) คลิกตกลงบนหน้าต่างป๊อปอัปยืนยัน เมื่อการติดตั้งเสร็จสิ้น คุณจะเห็นข้อความต่อไปนี้
Selenium และกรอบงาน NUnit
การบูรณาการของเซเลเนียมกับกรอบงาน NUnit ช่วยให้ผู้ทดสอบสามารถแยกความแตกต่างระหว่างคลาสการทดสอบต่างๆ ได้ นอกจากนี้ NUnit ยังช่วยให้ผู้ทดสอบสามารถใช้คำอธิบายประกอบ เช่น SetUp, Test และ TearDown เพื่อดำเนินการก่อนและหลังการเรียกใช้การทดสอบ
สามารถรวมเฟรมเวิร์ก NUnit เข้าด้วยกันได้ Selenium โดยการสร้างคลาสทดสอบ NUnit และรันคลาสทดสอบโดยใช้เฟรมเวิร์ก NUnit
ขั้นตอนด้านล่างนี้ Selenium จำเป็นต้องมีบทช่วยสอนเกี่ยวกับเฟรมเวิร์ก C# เพื่อสร้างและรันคลาสทดสอบโดยใช้เฟรมเวิร์ก NUnit
ขั้นตอนในการสร้างคลาสทดสอบ NUnit Selenium:
ขั้นตอน 1) ใน Solution Explorer คลิกขวาที่โปรเจ็กต์ > เพิ่ม > คลาส
ขั้นตอน 2) หน้าต่างสร้างชั้นเรียนจะปรากฏขึ้น
- ระบุชื่อให้กับชั้นเรียน
- คลิกที่ปุ่มเพิ่ม
ขั้นตอน 3) หน้าจอด้านล่างจะปรากฏขึ้น
ขั้นตอน 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) คลิกที่ 'สร้าง' -> 'สร้างโซลูชัน'
หมายเหตุ: คุณอาจได้รับข้อผิดพลาดเช่น "ไม่มีวิธี 'หลัก' แบบคงที่ที่เหมาะสมสำหรับจุดเริ่มต้น" เมื่อคุณสร้าง
เพื่อแก้ไขปัญหานี้ ให้ไปที่โครงการ > คุณสมบัติ และเปลี่ยนประเภทเอาต์พุตเป็น "Class Library" ค่าเริ่มต้นคือ “แอปพลิเคชันคอนโซล”
ขั้นตอน 5) เมื่อสร้างสำเร็จแล้ว เราจะต้องเปิดหน้าต่าง Test Explorer คลิกที่การทดสอบ -> Windows -> ทดสอบ Explorer
ขั้นตอน 6) หน้าต่าง Test Explorer จะเปิดขึ้นพร้อมกับรายการการทดสอบที่มีอยู่ คลิกขวาที่ Test Explorer และเลือก Run Selected Tests
ขั้นตอน 7) Selenium จะต้องเปิดเบราว์เซอร์ด้วย URL ที่ระบุและปิดเบราว์เซอร์ สถานะกรณีทดสอบจะเปลี่ยนเป็น 'ผ่าน' ในหน้าต่าง Test Explorer
Selenium คำสั่ง WebDriver ใน C #
C# ใช้อินเทอร์เฟซ 'IWebDriver' สำหรับการโต้ตอบกับเบราว์เซอร์ ต่อไปนี้คือหมวดหมู่ของคำสั่งที่พร้อมใช้งาน Selenium ใน C#
- คำสั่งเบราว์เซอร์
- คำสั่งองค์ประกอบเว็บ
- คำสั่งแบบเลื่อนลง
ตอนนี้อยู่ใน 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:
สถานการณ์การทดสอบ:
- ไปที่หน้าเว็บ Demo Guru99 – https://demo.guru99.com/test/guru99home/
- ขยายหน้าต่างให้ใหญ่สุด
- คลิกที่เมนู 'การทดสอบ'
- ปิดเบราว์เซอร์
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:
สถานการณ์การทดสอบ:
- ไปที่หน้าสาธิต Guru 99 – https://demo.guru99.com/test/guru99home/
- ป้อนข้อมูลลงในกล่องข้อความอีเมล์
- คลิกที่ปุ่มลงทะเบียน
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:
สถานการณ์การทดสอบ:
- ไปที่หน้าสาธิต Guru 99 – https://demo.guru99.com/test/guru99home/
- ป้อนข้อมูลลงในกล่องข้อความอีเมล์
- คลิกที่ปุ่มลงทะเบียน
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: เลือกค่าในเมนูแบบเลื่อนลง:
สถานการณ์การทดสอบ:
- ไปที่หน้าสาธิต Guru 99 – https://demo.guru99.com/test/guru99home/
- คลิกที่ SAP ลิงค์
- ป้อนข้อมูลลงในกล่องข้อความชื่อและอีเมล์
- เลือกค่าจากเมนูแบบเลื่อนลงหลักสูตร
- ปิดเบราว์เซอร์
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 และคำสั่งแบบเลื่อนลง