ความรู้เบื้องต้นเกี่ยวกับซีลีเนียม

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 นิ้ว

นี่คือวิดีโอเพื่อแสดงวิธีการทำงานนี้

https://youtu.be/V6kxVUYKp7M

สรุป:

เราจะนำภาพรวมของบทความที่นี่ ในบทความนี้เราได้เรียนรู้เกี่ยวกับ:

  • ซีลีเนียมคืออะไรและทำไมจึงใช้
  • Web Driver คืออะไร และใช้งานอย่างไร
  • ตัวระบุตำแหน่งไดรเวอร์เว็บซีลีเนียมพื้นฐาน
  • เห็นโค้ดพื้นฐานและการสาธิตการใช้งานอย่างง่าย

ฉันหวังว่าคุณจะสนุกกับบทความตลอดทั้งบทความ รอคอยข้อเสนอแนะและการอภิปราย

แหล่งข้อมูล: