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 in Eclipse

ขั้นตอนถัดไปคือการติดตั้ง “pydev IDE” สำหรับ Eclipse

ขั้นตอน 2) ในขั้นตอนนี้

  1. ค้นหา “http://pydev.org/updates” ใน Work with จากนั้น
  2. เลือกรายการทั้งหมดที่แสดงไว้แล้วคลิกถัดไปสองครั้ง
  3. ยอมรับข้อตกลงใบอนุญาตแล้วคลิกเสร็จสิ้น

ติดตั้งและกำหนดค่า PyDev in Eclipse

ขั้นตอน 3) คุณอาจพบคำเตือนด้านความปลอดภัย คลิกที่ "ติดตั้งต่อไป"

ติดตั้งและกำหนดค่า PyDev in Eclipse

ขั้นตอน 4) , ในขั้นตอนนี้ คุณจะต้องตั้งค่ากำหนด คุณสามารถใช้ตัวเลือกการตั้งค่าได้ Python ตามความต้องการของโครงการ

ไปที่หน้าต่าง > การตั้งค่า > PyDev > ล่าม > Python ล่าม.

ติดตั้งและกำหนดค่า PyDev in Eclipse

มาตั้งค่าเริ่มต้นกัน Python ล่าม มันเหมือนกับว่าคุณต้องตั้งค่าคอมไพเลอร์ Java เพื่อเรียกใช้ Java รหัส หากต้องการเปลี่ยนชื่ออินเทอร์พรีเตอร์ ให้คลิกปุ่ม Browse for python/pypy exe

ติดตั้งและกำหนดค่า PyDev in Eclipse

ขั้นตอน 5) ในขั้นตอนนี้ ให้ระบุ "ชื่อล่าม" และเส้นทางไฟล์ "exe" Python.

  1. คลิกที่ 'เรียกดู' และค้นหา python.exe ที่คุณติดตั้งไว้ Python.
  2. คลิกปุ่ม 'ตกลง'
  3. เลือกโฟลเดอร์ทั้งหมดแล้วคลิกตกลง
  4. คลิกที่ "ใช้และปิด"

ติดตั้งและกำหนดค่า PyDev in Eclipse

ขั้นตอน 6) สร้างโปรเจ็กต์ใหม่ใน Python- ในขั้นตอนนี้

  1. คลิกขวา PyDev สำรวจแพ็คเกจ > ใหม่
  2. เลือกตัวเลือกอื่น ๆ

ติดตั้งและกำหนดค่า PyDev in Eclipse

  1. เลือก "PyDev > PyDev โครงการ".
  2. กดปุ่ม 'ถัดไป'

ติดตั้งและกำหนดค่า PyDev in Eclipse

  1. ตั้งชื่อโครงการของคุณ
  2. คลิก "เสร็จสิ้น"

ติดตั้งและกำหนดค่า PyDev in Eclipse

คุณสามารถเห็นใหม่ Python (PyDev) โครงการถูกสร้างขึ้น

ขั้นตอน 7) ในขั้นตอนนี้

หลังจากสร้าง'PyDev โครงการ' คุณจะสร้างใหม่ Python บรรจุภัณฑ์

  1. คลิกขวาที่โครงการ > ใหม่ > PyDev บรรจุภัณฑ์
  2. ตั้งชื่อแพ็คเกจของคุณแล้วคลิกเสร็จสิ้น

ติดตั้งและกำหนดค่า PyDev in Eclipse

ติดตั้งและกำหนดค่า PyDev in Eclipse

ขั้นตอน 8) หากคุณเห็นภาพหน้าจอด้านล่าง แสดงว่าแพ็คเกจใหม่จะถูกสร้างขึ้น

ติดตั้งและกำหนดค่า PyDev in Eclipse

หลังจากสร้างแพ็คเกจใหม่แล้ว ขั้นตอนต่อไปคือการสร้างPyDev โมดูล โมดูลประกอบด้วยบางส่วน Python ไฟล์สำหรับการเริ่มต้น ไฟล์หรือฟังก์ชันเหล่านี้จากโมดูลสามารถนำเข้าไปยังโมดูลอื่นได้ ดังนั้นจึงไม่จำเป็นต้องเขียนโปรแกรมใหม่อีกครั้ง

ขั้นตอน 9) สร้างใหม่ PyDev โมดูล. คลิกขวาที่แพ็คเกจ > ใหม่ > PyDev โมดูล.

ติดตั้งและกำหนดค่า PyDev in Eclipse

ตั้งชื่อโมดูลของคุณแล้วคลิก "เสร็จสิ้น"

ติดตั้งและกำหนดค่า PyDev in Eclipse

เลือกเทมเพลตเปล่าแล้วคลิก "ตกลง"

ติดตั้งและกำหนดค่า PyDev in Eclipse

ขั้นตอน 10) เขียนรหัสของคุณสำหรับ Selenium กับ Python ที่แสดงด้านล่าง

ติดตั้งและกำหนดค่า PyDev in Eclipse

วิธีสร้างสคริปต์ทดสอบใน 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()

ภาพรวมของรหัส

สร้างสคริปต์ทดสอบใน Selenium กับ Python

คำอธิบายของรหัส

  • รหัสบรรทัดที่ 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” และรหัสผ่านที่ป้อน

สร้างสคริปต์ทดสอบใน Selenium กับ Python

เพจ Facebook จะเข้าสู่ระบบด้วยอีเมลและรหัสผ่าน เพจจะเปิดขึ้น (ดูรูปภาพด้านล่าง)

สร้างสคริปต์ทดสอบใน Selenium กับ Python

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"

ภาพรวมของรหัส

สร้างสคริปต์ทดสอบใน Selenium กับ Python

คำอธิบายของรหัส:

  • รหัสบรรทัด 1-2: นำเข้าแพ็คเกจซีลีเนียม
  • รหัสบรรทัด 4: เริ่มต้น Firefox โดยการสร้างวัตถุ
  • รหัสบรรทัด 6: รับหน้าเข้าสู่ระบบ (Facebook)
  • รหัสบรรทัด 8-10: ดึงข้อมูลช่องกรอกชื่อผู้ใช้, รหัสผ่าน และปุ่มส่ง
  • รหัสบรรทัด 11-12: ป้อนข้อมูลลงในช่องป้อนชื่อผู้ใช้และรหัสผ่าน
  • รหัสบรรทัด 14: คลิกที่ปุ่ม “ส่ง”
  • รหัสบรรทัด 15: สร้างวัตถุรอโดยหมดเวลา 5 วินาที
  • รหัสบรรทัด 16: การจับชื่อจากวัตถุ "เบราว์เซอร์"
  • รหัสบรรทัด 17: ทดสอบสตริงหัวเรื่องที่บันทึกไว้ด้วย “Facebook”

ทำไมถึงต้องเลือก Python เกินกว่า Java in Selenium

ไม่กี่จุดที่โปรดปราน Python เกินกว่า Java ที่จะใช้กับ Selenium คือ,

  1. Java โปรแกรมมีแนวโน้มที่จะทำงานช้าลงเมื่อเทียบกับ Python โปรแกรม
  2. Java ใช้เครื่องหมายปีกกาแบบดั้งเดิมเพื่อเริ่มและสิ้นสุดบล็อกในขณะเดียวกัน Python ใช้การเยื้อง
  3. Java ใช้การพิมพ์แบบคงที่ในขณะที่ Python ถูกพิมพ์แบบไดนามิก
  4. Python ง่ายกว่าและกะทัดรัดกว่าเมื่อเทียบกับ Java.

สรุป

  • Selenium เป็นเว็บแบบโอเพ่นซอร์ส เครื่องมืออัตโนมัติ.
  • Python ภาษาใช้กับ Selenium สำหรับการทดสอบ มีรายละเอียดน้อยกว่ามากและใช้งานง่ายกว่าภาษาโปรแกรมอื่นๆ
  • โครงการ Python API ช่วยให้คุณสามารถเชื่อมต่อกับเบราว์เซอร์ผ่านทาง Selenium
  • Selenium สามารถส่งมาตรฐานได้ Python คำสั่งไปยังเบราว์เซอร์ต่างๆ แม้ว่าการออกแบบเบราว์เซอร์จะแตกต่างกันก็ตาม