Selenium เป็นเครื่องมือทดสอบซอฟต์แวร์แบบโอเพนซอร์สและแบบพกพาสำหรับการทดสอบเว็บแอปพลิเคชันที่มีความสามารถในการทำงานบนเบราว์เซอร์และระบบปฏิบัติการที่แตกต่างกัน ซีลีเนียมไม่ใช่เครื่องมือเดียว แต่เป็นชุดเครื่องมือที่ช่วยให้ผู้ทดสอบทำให้แอปพลิเคชันของพวกเขาเป็นไปโดยอัตโนมัติได้อย่างมีประสิทธิภาพมากขึ้น
บางครั้งเราจะพบกล่องดรอปดาวน์ของแท็ก <elect> </electe> ไม่จำเป็นต้องเป็นไปได้ที่จะคลิกที่ตัวเลือกในกล่องดรอปดาวน์ ซีลีเนียมจัดให้มีคลาสที่เลือกโดยเฉพาะเพื่อจัดการกับกล่องดรอปดาวน์
<select id = "สถานะ" onChange = "" name = "สถานะ"> <ค่าตัวเลือก = ""> </ตัวเลือก> <ตัวเลือกค่า = "0"> ไม่ได้ตรวจสอบ </ตัวเลือก> <ตัวเลือกค่า = "1"> การตรวจสอบเบื้องต้นผ่าน </optup> <ตัวเลือกค่า = "2">
การดำเนินงานใน Python-Selenium
ใช้ Python เป็นตัวอย่างในการดูการใช้งานรหัสซีลีเนียมเลือกไฟล์. py:
.../selenium/webdriver/support/select.py
ชั้นเรียนเลือก:
def __init __ (ตัวเอง, wewebrem): "" ตัวสร้าง มีการตรวจสอบว่าองค์ประกอบที่กำหนดคือแท็กที่เลือก ถ้าไม่ใช่แล้วการไม่คาดคิด tagnameException จะถูกโยนลงไป: Args:- WeWebrem - องค์ประกอบเลือกองค์ประกอบเพื่อ Wrapexample: จาก selenium.webdriver.support.ui นำเข้าเลือก /nselect(driver.find_element_by_tag_name "SELECT": เพิ่มความไม่คาดคิด TAGNAMEException ("เลือกใช้งานได้เฉพาะกับ <SELECT> องค์ประกอบไม่ใช่ใน < %s>" %weblement.tag_name) self._el = webeblementMulti = self._el.get_attribute ("หลาย") self.is_multiple = multi และ multi! ในการดูการใช้งานคลาส Select คุณต้องค้นหาองค์ประกอบ และตัวอย่างประโยคจะได้รับในตัวอย่าง
เลือก (driver.find_element_by_tag_name ("เลือก")). select_by_index (2) def select_by_index (ตัวเอง, ดัชนี): "เลือกตัวเลือกที่ดัชนีที่กำหนด สิ่งนี้ทำได้โดยการตรวจสอบแอตทริบิวต์ "ดัชนี" ขององค์ประกอบและไม่เพียง แต่นับโดยการนับ: Args:- ดัชนี - ตัวเลือกที่ดัชนีนี้จะถูกเลือก "" "การจับคู่ = Str (ดัชนี) จับคู่ = เท็จสำหรับการเลือกตัวเอง nosuchelementException ("ไม่สามารถค้นหาองค์ประกอบด้วยดัชนี % d" % ดัชนี)ดำเนินการต่อเพื่อดูการใช้วิธี select_by_index () และตรงตามข้อกำหนดของกล่องดรอปดาวน์ที่ให้ไว้ด้านบนเพราะต้องการให้ตัวเลือกของกล่องแบบเลื่อนลงต้องมีแอตทริบิวต์ดัชนีเช่น index =” 1”
def select_by_value (self, value): "" เลือกตัวเลือกทั้งหมดที่มีค่าที่ตรงกับอาร์กิวเมนต์นั่นคือเมื่อได้รับ "foo" สิ่งนี้จะเลือกตัวเลือกเช่น: <ตัวเลือกค่า = "foo"> bar </opotion>: args: - ค่า - ค่าที่ตรงกับ "" css = " self._el.find_elements (by.css_selector, css) จับคู่ = เท็จสำหรับการเลือกใช้: self._setselected (opt) ถ้าไม่ self.is_multiple: returnmatched = treaif ไม่ตรงกัน: เพิ่ม nosuchelementexception (
ดำเนินการต่อเพื่อดูว่าเมธอด select_by_value () ตรงตามข้อกำหนดของเราซึ่งใช้เพื่อเลือกค่าค่าของแท็ก <potion> ในที่สุดคุณสามารถใช้ตัวเลือกต่อไปนี้เพื่อเลือกกล่องดรอปดาวน์
จาก selenium.webdriver.support.select นำเข้าเลือก
-
sel = driver.find_element_by_xpath ("// เลือก [@id = 'สถานะ']")
เลือก (sel) .select_by_value ('0') #ไม่ได้ตรวจสอบ
เลือก (sel) .select_by_value ('1') #การตรวจสอบ preliminary
เลือก (sel) .select_by_value ('2') #review ผ่าน
เลือก (sel) .select_by_value ('3') #การตรวจสอบล้มเหลว
การดำเนินงานใน Java-Selenium
แน่นอนว่าการใช้งานใน Java นั้นคล้ายคลึงกันความแตกต่างเพียงอย่างเดียวคือระดับไวยากรณ์
แพ็คเกจ com.jase.base;
นำเข้า org.openqa.selenium.webdriver;
นำเข้า org.openqa.selenium.by.byid;
นำเข้า org.openqa.selenium.chrome.chromedriver;
นำเข้า org.openqa.selenium.support.ui.select;
ชั้นเรียนสาธารณะ selectTest {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
webDriver driver = new Chromedriver ();
driver.get ("http://www.you_url.com");
-
เลือก sel = new select (driver.findelement (byid.xpath ("// เลือก [@id = 'สถานะ']")));
Sel.SelectByValue ("0"); // ไม่ได้ตรวจสอบ
Sel.SelectByValue ("1"); // การตรวจสอบเบื้องต้นผ่านไป
Sel.SelectByValue ("2"); // รีวิวผ่าน
Sel.SelectByValue ("3"); // รีวิวไม่ผ่าน
-
-