Selenium Python บทช่วยสอนพร้อมตัวอย่าง WebDriver
Selenium กับ Python
Selenium สนับสนุน Python จึงสามารถใช้เป็น Selenium เว็บไดร์เวอร์ด้วย Python สำหรับการทดสอบ
- Python เป็นเรื่องง่ายเมื่อเทียบกับภาษาโปรแกรมอื่นๆ โดยมีรายละเอียดน้อยกว่ามาก
- โครงการ Python API ช่วยให้คุณสามารถเชื่อมต่อกับเบราว์เซอร์ผ่านทาง Selenium.
- Selenium ส่งมาตรฐาน Python คำสั่งไปยังเบราว์เซอร์ต่างๆ แม้ว่าการออกแบบเบราว์เซอร์จะแตกต่างกันก็ตาม
คุณสามารถเรียกใช้ Selenium กับ Python สคริปต์สำหรับ Firefox, Chrome, IE ฯลฯ บนที่แตกต่างกัน Operaระบบติ้ง
ความหมายของ Python?
Python เป็นภาษาสคริปต์เชิงวัตถุระดับสูง ได้รับการออกแบบในลักษณะที่เป็นมิตรต่อผู้ใช้ Python ใช้คำสำคัญภาษาอังกฤษง่าย ๆ ซึ่งง่ายต่อการตีความ มันมีภาวะแทรกซ้อนทางไวยากรณ์น้อยกว่าสิ่งอื่นใด การเขียนโปรแกรมภาษา.
ดูตัวอย่างบางส่วนในตารางด้านล่าง
คำหลัก | ความหมาย | การใช้ |
---|---|---|
elif | อย่างอื่นถ้า | อย่างอื่นถ้า |
อื่น | อื่น | ถ้า: X; เอลฟ์: ใช่; ความหมายอื่นๆ :เจ |
ยกเว้น | ทำเช่นนี้ หากมีข้อยกเว้นเกิดขึ้น | ยกเว้น ValueError, a: พิมพ์ a |
exec | เรียกใช้สตริงเป็น Python | exec 'พิมพ์ "สวัสดีชาวโลก !"' |
ความหมายของ Selenium?
Selenium เป็นเครื่องมือในการทดสอบเว็บแอปพลิเคชันของคุณ คุณสามารถทำได้หลายวิธี เช่น
- อนุญาตให้แตะปุ่ม
- ป้อนเนื้อหาในโครงสร้าง
- อ่านเว็บไซต์ของคุณเพื่อดูว่าทุกอย่าง “ตกลง” หรือไม่ และอื่นๆ
วิธีการติดตั้งและกำหนดค่า PyDev in Eclipse
PyDev is Python สภาพแวดล้อมการพัฒนาสำหรับ Eclipse.
ขั้นตอน 1) ต้อง Eclipse ตลาด. วิธีใช้ > ติดตั้งซอฟต์แวร์ใหม่
ขั้นตอนถัดไปคือการติดตั้ง “pydev IDE” สำหรับ Eclipse
ขั้นตอน 2) ในขั้นตอนนี้
- ค้นหา “http://pydev.org/updates” ใน Work with จากนั้น
- เลือกรายการทั้งหมดที่แสดงไว้แล้วคลิกถัดไปสองครั้ง
- ยอมรับข้อตกลงใบอนุญาตแล้วคลิกเสร็จสิ้น
ขั้นตอน 3) คุณอาจพบคำเตือนด้านความปลอดภัย คลิกที่ "ติดตั้งต่อไป"
ขั้นตอน 4) , ในขั้นตอนนี้ คุณจะต้องตั้งค่ากำหนด คุณสามารถใช้ตัวเลือกการตั้งค่าได้ Python ตามความต้องการของโครงการ
ไปที่หน้าต่าง > การตั้งค่า > PyDev > ล่าม > Python ล่าม.
มาตั้งค่าเริ่มต้นกัน Python ล่าม มันเหมือนกับว่าคุณต้องตั้งค่าคอมไพเลอร์ Java เพื่อเรียกใช้ Java รหัส หากต้องการเปลี่ยนชื่ออินเทอร์พรีเตอร์ ให้คลิกปุ่ม Browse for python/pypy exe
ขั้นตอน 5) ในขั้นตอนนี้ ให้ระบุ "ชื่อล่าม" และเส้นทางไฟล์ "exe" Python.
- คลิกที่ 'เรียกดู' และค้นหา python.exe ที่คุณติดตั้งไว้ Python.
- คลิกปุ่ม 'ตกลง'
- เลือกโฟลเดอร์ทั้งหมดแล้วคลิกตกลง
- คลิกที่ "ใช้และปิด"
ขั้นตอน 6) สร้างโปรเจ็กต์ใหม่ใน Python- ในขั้นตอนนี้
- คลิกขวา PyDev สำรวจแพ็คเกจ > ใหม่
- เลือกตัวเลือกอื่น ๆ
- เลือก "PyDev > PyDev โครงการ".
- กดปุ่ม 'ถัดไป'
- ตั้งชื่อโครงการของคุณ
- คลิก "เสร็จสิ้น"
คุณสามารถเห็นใหม่ Python (PyDev) โครงการถูกสร้างขึ้น
ขั้นตอน 7) ในขั้นตอนนี้
หลังจากสร้าง'PyDev โครงการ' คุณจะสร้างใหม่ Python บรรจุภัณฑ์
- คลิกขวาที่โครงการ > ใหม่ > PyDev บรรจุภัณฑ์
- ตั้งชื่อแพ็คเกจของคุณแล้วคลิกเสร็จสิ้น
ขั้นตอน 8) หากคุณเห็นภาพหน้าจอด้านล่าง แสดงว่าแพ็คเกจใหม่จะถูกสร้างขึ้น
หลังจากสร้างแพ็คเกจใหม่แล้ว ขั้นตอนต่อไปคือการสร้างPyDev โมดูล โมดูลประกอบด้วยบางส่วน Python ไฟล์สำหรับการเริ่มต้น ไฟล์หรือฟังก์ชันเหล่านี้จากโมดูลสามารถนำเข้าไปยังโมดูลอื่นได้ ดังนั้นจึงไม่จำเป็นต้องเขียนโปรแกรมใหม่อีกครั้ง
ขั้นตอน 9) สร้างใหม่ PyDev โมดูล. คลิกขวาที่แพ็คเกจ > ใหม่ > PyDev โมดูล.
ตั้งชื่อโมดูลของคุณแล้วคลิก "เสร็จสิ้น"
เลือกเทมเพลตเปล่าแล้วคลิก "ตกลง"
ขั้นตอน 10) เขียนรหัสของคุณสำหรับ Selenium กับ Python ที่แสดงด้านล่าง
วิธีสร้างสคริปต์ทดสอบใน Selenium กับ Python
ในการนี้ Selenium เว็บไดร์เวอร์ด้วย Python ตัวอย่างเช่น เราทำระบบอัตโนมัติสำหรับ “หน้าเข้าสู่ระบบ Facebook” โดยใช้ Firefox คนขับรถ
Selenium กับ Python ตัวอย่างที่ 1: เข้าสู่ระบบ Facebook
from selenium import webdriver from selenium.webdriver.common.keys import Keys user_name = "YOUR EMAILID" password = "YOUR PASSWORD" driver = webdriver.Firefox() driver.get("https://www.facebook.com") element = driver.find_element_by_id("email") element.send_keys(user_name) element = driver.find_element_by_id("pass") element.send_keys(password) element.send_keys(Keys.RETURN) element.close()
ภาพรวมของรหัส
คำอธิบายของรหัส
- รหัสบรรทัดที่ 1: จากโมดูล Selenium นำเข้า webdriver
- รหัสบรรทัดที่ 2: จากโมดูล Selenium นำเข้าคีย์
- รหัสบรรทัดที่ 3: User คือตัวแปรที่จะใช้เก็บค่าของชื่อผู้ใช้
- รหัสบรรทัดที่ 4: ตัวแปร “รหัสผ่าน” จะถูกใช้เพื่อจัดเก็บค่าของรหัสผ่าน
- รหัสบรรทัดที่ 5: ในบรรทัดนี้ เราจะเริ่มต้น “FireFox” โดยการสร้างวัตถุของมัน
- รหัสบรรทัดที่ 6: “วิธี driver.get” จะนำทางไปยังหน้าที่กำหนดโดย URL WebDriver จะรอจนกว่าเพจจะโหลดเสร็จสมบูรณ์ (นั่นคือ โอกาส "onload" ถูกยกเลิก) ก่อนที่จะกลับมาควบคุมการทดสอบหรือสคริปต์ของคุณ
- รหัสบรรทัดที่ 7:ในบรรทัดนี้ เรากำลังค้นหาองค์ประกอบของกล่องข้อความซึ่งจะต้องเขียน "อีเมล"
- รหัสบรรทัดที่ 8: ตอนนี้เรากำลังส่งค่าไปยังส่วนอีเมล
- รหัสบรรทัดที่ 9: เช่นเดียวกับรหัสผ่าน
- รหัสบรรทัดที่ 10: การส่งค่าไปยังส่วนรหัสผ่าน
- รหัสบรรทัดที่ 11: element.send_keys(Keys.RETURN) ใช้เพื่อกด Enter หลังจากแทรกค่าแล้ว
- รหัสบรรทัดที่ 12: ปิด
เอาท์พุท
ค่าของชื่อผู้ใช้ “guru99” และรหัสผ่านที่ป้อน
เพจ Facebook จะเข้าสู่ระบบด้วยอีเมลและรหัสผ่าน เพจจะเปิดขึ้น (ดูรูปภาพด้านล่าง)
Selenium กับ Python ตัวอย่างที่ 2: เข้าสู่ระบบ Facebook และตรวจสอบชื่อ
ในตัวอย่างนี้
- เราจะเปิดหน้าเข้าสู่ระบบ
- กรอกข้อมูลในช่องที่จำเป็น “ชื่อผู้ใช้” และ “รหัสผ่าน”
- ตรวจสอบชื่อหน้า
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait # Step 1) Open Firefox browser = webdriver.Firefox() # Step 2) Navigate to Facebook browser.get("http://www.facebook.com") # Step 3) Search & Enter the Email or Phone field & Enter Password username = browser.find_element_by_id("email") password = browser.find_element_by_id("pass") submit = browser.find_element_by_id("loginbutton") username.send_keys("YOUR EMAILID") password.send_keys("YOUR PASSWORD") # Step 4) Click Login submit.click() wait = WebDriverWait( browser, 5 ) page_title = browser.title assert page_title == "Facebook"
ภาพรวมของรหัส
คำอธิบายของรหัส:
- รหัสบรรทัด 1-2: นำเข้าแพ็คเกจซีลีเนียม
- รหัสบรรทัด 4: เริ่มต้น Firefox โดยการสร้างวัตถุ
- รหัสบรรทัด 6: รับหน้าเข้าสู่ระบบ (Facebook)
- รหัสบรรทัด 8-10: ดึงข้อมูลช่องกรอกชื่อผู้ใช้, รหัสผ่าน และปุ่มส่ง
- รหัสบรรทัด 11-12: ป้อนข้อมูลลงในช่องป้อนชื่อผู้ใช้และรหัสผ่าน
- รหัสบรรทัด 14: คลิกที่ปุ่ม “ส่ง”
- รหัสบรรทัด 15: สร้างวัตถุรอโดยหมดเวลา 5 วินาที
- รหัสบรรทัด 16: การจับชื่อจากวัตถุ "เบราว์เซอร์"
- รหัสบรรทัด 17: ทดสอบสตริงหัวเรื่องที่บันทึกไว้ด้วย “Facebook”
ทำไมถึงต้องเลือก Python เกินกว่า Java in Selenium
ไม่กี่จุดที่โปรดปราน Python เกินกว่า Java ที่จะใช้กับ Selenium คือ,
- Java โปรแกรมมีแนวโน้มที่จะทำงานช้าลงเมื่อเทียบกับ Python โปรแกรม
- Java ใช้เครื่องหมายปีกกาแบบดั้งเดิมเพื่อเริ่มและสิ้นสุดบล็อกในขณะเดียวกัน Python ใช้การเยื้อง
- Java ใช้การพิมพ์แบบคงที่ในขณะที่ Python ถูกพิมพ์แบบไดนามิก
- Python ง่ายกว่าและกะทัดรัดกว่าเมื่อเทียบกับ Java.
สรุป
- Selenium เป็นเว็บแบบโอเพ่นซอร์ส เครื่องมืออัตโนมัติ.
- Python ภาษาใช้กับ Selenium สำหรับการทดสอบ มีรายละเอียดน้อยกว่ามากและใช้งานง่ายกว่าภาษาโปรแกรมอื่นๆ
- โครงการ Python API ช่วยให้คุณสามารถเชื่อมต่อกับเบราว์เซอร์ผ่านทาง Selenium
- Selenium สามารถส่งมาตรฐานได้ Python คำสั่งไปยังเบราว์เซอร์ต่างๆ แม้ว่าการออกแบบเบราว์เซอร์จะแตกต่างกันก็ตาม