ความรู้เบื้องต้นเกี่ยวกับซีลีเนียม
Selenium เป็นเฟรมเวิร์กการทดสอบอัตโนมัติแบบโอเพ่นซอร์สที่ใช้เพื่อตรวจสอบแอปพลิเคชันเว็บในเบราว์เซอร์และแพลตฟอร์มต่างๆ สร้างขึ้นโดย Jason Huggins ในปี 2004 ซึ่งเป็นวิศวกรซอฟต์แวร์ของ ThoughtWorks เขาสร้างมันขึ้นมาเมื่อเขาต้องทดสอบเว็บแอปพลิเคชันหลายครั้ง ซึ่งนำไปสู่ความไร้ประสิทธิภาพและความพยายามที่สูงขึ้น
สร้างแรงบันดาลใจมาก!!!
ซอฟต์แวร์ Selenium ไม่ได้เป็นเพียงเครื่องมือชิ้นเดียว แต่เป็นชุดซอฟต์แวร์ ซึ่งแต่ละชิ้นรองรับความต้องการการทดสอบที่แตกต่างกันขององค์กร นี่คือรายการเครื่องมือ
- สภาพแวดล้อมการพัฒนาแบบบูรณาการซีลีเนียม (IDE)
- ซีลีเนียมรีโมทคอนโทรล (RC)
- เว็บไดร์เวอร์
- ตารางซีลีเนียม
ในขอบเขตนี้ เราจะพูดคุยเพิ่มเติมเกี่ยวกับ WebDriver
หมายเหตุ: เราไม่สามารถทดสอบเดสก์ท็อปหรือแอปพลิเคชันมือถือใดๆ โดยใช้ Selenium ได้
ทำไมถึงเลือกซีลีเนียม
ข้อดีหลักของซีลีเนียม ได้แก่ :
- การทำงานร่วมกันที่จะใช้กับภาษาการเขียนโปรแกรมทั้งหมด
- ความสามารถในการรองรับแพลตฟอร์มและเบราว์เซอร์ทั้งหมด
- ความง่ายในการรวมเข้ากับเฟรมเวิร์กการทดสอบส่วนใหญ่ เพิ่มความสะดวกในการสร้างกรณีทดสอบและสร้างรายงานการทดสอบ
- ความสามารถในการรวมเข้ากับแอปพลิเคชัน CI-CD เช่น Maven, Jenkins ฯลฯ เพื่อการทดสอบต่อเนื่องที่ราบรื่น
Python สำหรับการทดสอบอัตโนมัติ:
Python เป็นภาษาการเขียนโปรแกรมที่เข้าใจง่ายและเรียนรู้มากที่สุดในปัจจุบัน ยิ่งไปกว่านั้น มันเป็นโอเพ่นซอร์สในระดับสูงและมีชุมชนขนาดใหญ่ที่ให้การสนับสนุน นอกจากนี้ยังมีเฟรมเวิร์กในตัวหลายตัวสำหรับการดีบัก การทดสอบ และปรับปรุงเวิร์กโฟลว์
ไดรเวอร์เว็บซีลีเนียมและการผูก Python:
เราติดตั้งไลบรารีซีลีเนียมลงในสภาพแวดล้อมหลามของเราโดยใช้ตัวจัดการแพ็คเกจ pip
pip ติดตั้งซีลีเนียม
ในการเริ่มต้นด้วย Selenium ใน Python เราจำเป็นต้องนำเข้าไดรเวอร์เว็บ Selenium และไดรเวอร์เว็บของเบราว์เซอร์ (ในตัวอย่างนี้ เราใช้เบราว์เซอร์ Chrome) นี่คือวิธีที่คุณสามารถทำได้
จากเว็บไดรเวอร์นำเข้าซีลีเนียม
หมายเหตุ: อย่าตั้งชื่อไฟล์ของคุณเป็น selenium.py ในกรณีที่คุณตั้งชื่อไว้แล้ว ให้เปลี่ยนชื่อไฟล์และลบไฟล์ .pyc หากสร้างขึ้น
ตอนนี้เรานำเข้าไดรเวอร์เว็บเบราว์เซอร์
หมายเหตุ: ไดรเวอร์เว็บจะแตกต่างกันไปตามการใช้แพลตฟอร์มและเบราว์เซอร์ และเวอร์ชันของเบราว์เซอร์ ตรวจสอบให้แน่ใจว่าได้ดาวน์โหลดไดรเวอร์เว็บที่ถูกต้องตามการใช้งานของคุณ
driver = webdriver.Chrome (“ เส้นทางไดรเวอร์เบราว์เซอร์ / chromedriver”)
ตัวระบุตำแหน่งใน Selenium Web Driver:
เราจะตั้งตารอที่จะใช้ตัวระบุตำแหน่ง Selenium Webdriver พื้นฐานหกตัว ซึ่งได้แก่:
- ID ของแท็ก THML
- แอตทริบิวต์ชื่อของแท็ก HTML
- ลิงค์ข้อความ
- ตัวเลือก CSS
- ข้อความลิงก์บางส่วน
- XPath ขององค์ประกอบ
ตัวระบุรหัส:
ID เป็นตัวเลือกตัวระบุตำแหน่งที่ปลอดภัยที่สุดและเร็วที่สุด เนื่องจาก ID นั้นไม่ซ้ำกับองค์ประกอบในโครงสร้าง DOM
เราใช้
driver.find_element_by_id(“‹ID NAME›”)
ฟังก์ชั่นเพื่อเลือกองค์ประกอบที่มี ID ที่แน่นอน
ตัวระบุชื่อ:
ฟังก์ชั่นที่ใช้ในการเลือกองค์ประกอบ HTML ที่มีแอตทริบิวต์ชื่อบางอย่างที่เราใช้ฟังก์ชั่นนี้
driver.find_element_by_name(“‹NAME›”)
ตัวระบุข้อความลิงก์:
driver.find_element_by_link_text() เป็นฟังก์ชันที่ใช้ในการเลือกองค์ประกอบตามข้อความที่มีอยู่ในลิงก์
ตัวเลือก CSS:
ฟังก์ชัน driver.find_element_by_css_selector(“‹SELCTOR NAME›”) ช่วยให้เราเลือกองค์ประกอบตามแอตทริบิวต์ในรูปแบบ CSS เช่น ชื่อของ id เริ่มต้นด้วย # และของคลาสที่มี ..
ตัวเลือกข้อความลิงก์บางส่วน:
ฟังก์ชัน driver.find_element_by_partial_link_text() ช่วยให้เราสามารถเลือกองค์ประกอบในโครงสร้าง DOM โดยใช้เพียงข้อความบางส่วนที่ใช้เป็นลิงก์
ตัวระบุตำแหน่ง XPath:
XPath ถูกกำหนดให้เป็นเส้นทาง XML มันถูกกำหนดให้เป็นไวยากรณ์หรือภาษาสำหรับการค้นหาองค์ประกอบใด ๆ บนหน้าเว็บโดยใช้นิพจน์เส้นทาง XML XPath ใช้เพื่อค้นหาตำแหน่งขององค์ประกอบใดๆ บนหน้าเว็บโดยใช้โครงสร้าง HTML DOM
คุณอาจไม่เห็น XPath ขององค์ประกอบในคอนโซลนักพัฒนาซอฟต์แวร์ สำหรับผู้ใช้ Chrome คุณต้องติดตั้งส่วนขยายชื่อ ChroPath เพื่อรับรายละเอียด XPath ในคอนโซลนักพัฒนาซอฟต์แวร์
driver.find_element_by_xpath(“‹XPath Name›”) เป็นฟังก์ชันที่ใช้เพื่อเลือกองค์ประกอบจาก DOM โดยใช้ค่า XPath
ตัวอย่างที่สมบูรณ์:
ในตัวอย่างนี้ Selenium ช่วยเรารวบรวมข้อมูลเว็บไซต์ Amazon และเลือก ทีวี LED Samsung 32 นิ้ว
นี่คือวิดีโอเพื่อแสดงวิธีการทำงานนี้
สรุป:
เราจะนำภาพรวมของบทความที่นี่ ในบทความนี้เราได้เรียนรู้เกี่ยวกับ:
- ซีลีเนียมคืออะไรและทำไมจึงใช้
- Web Driver คืออะไร และใช้งานอย่างไร
- ตัวระบุตำแหน่งไดรเวอร์เว็บซีลีเนียมพื้นฐาน
- เห็นโค้ดพื้นฐานและการสาธิตการใช้งานอย่างง่าย
ฉันหวังว่าคุณจะสนุกกับบทความตลอดทั้งบทความ รอคอยข้อเสนอแนะและการอภิปราย
แหล่งข้อมูล:
- คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับตัวระบุตำแหน่งได้ที่นี่: https://www.browserstack.com/guide/locators-in-selenium
- ต่อไปนี้เป็นบทช่วยสอนพื้นฐานเกี่ยวกับ Selenium โดย Edureka: https://www.youtube.com/watch?v=CwLrdjgsJjU