วิธีเลือกค่าจากเมนูแบบเลื่อนลงใน Selenium WebDriver



บทความนี้ช่วยให้คุณเข้าใจว่า Select class ใน Selenium WebDriver คืออะไรและวิธีการเลือกค่าจากรายการแบบหล่นลงใน Selenium WebDriver

ในการดำเนินการอย่างใดอย่างแรกงานที่ต้องทำคือการระบุกลุ่มองค์ประกอบ โดยทั่วไปในขณะที่ทำงานกับ คุณอาจต้องเลือกค่าบางค่าจากรายการดรอปดาวน์และดำเนินกิจกรรมอื่น ๆ และตรวจสอบความถูกต้อง ดังนั้นฉันจะแนะนำวิธีของคุณในการทำความเข้าใจว่า Select class ใน Selenium WebDriver คืออะไรและจะทำอย่างไร เลือก ค่าจากรายการดรอปดาวน์ใน Selenium WebDriver

ฉันจะพูดถึงหัวข้อนี้ตามลำดับนี้:





มาเริ่มกันเลย

เลือกคลาสใน Selenium WebDriver

เลือก คลาสคือ คลาสซึ่งโดยพื้นฐานแล้วให้การใช้งานแท็ก HTML SELECT แท็ก Select ให้วิธีการช่วยเหลือด้วยการเลือกและยกเลิกการเลือกตัวเลือก ชั้นเรียนนี้สามารถพบได้ใน การสนับสนุนของซีลีเนียม UI เลือก แพ็คเกจ Select เป็นคลาสธรรมดาดังนั้นอ็อบเจ็กต์จึงถูกสร้างขึ้นโดยคีย์เวิร์ด ใหม่ และยังระบุตำแหน่งขององค์ประกอบเว็บ



ไวยากรณ์:

เลือก oSelect = new Select ()

มันจะแสดงข้อผิดพลาดที่ขอให้เพิ่มอาร์กิวเมนต์ให้กับคำสั่ง ดังนั้นระบุตำแหน่งองค์ประกอบเว็บโดยใช้ .

ก็ระบุชัดเจนว่า เลือก กำลังขอออบเจ็กต์ประเภทองค์ประกอบสำหรับตัวสร้าง



หลังจากนี้,เมื่อคุณได้รับวัตถุของไฟล์ เลือกคลาส คุณสามารถเข้าถึงวิธีการทั้งหมดที่อยู่ในไฟล์ เลือก คลาสโดยพิมพ์ o เลือก + จุด ซึ่งจะให้วิธีการทั้งหมดภายใต้คลาส Select เลือกวิธีใดก็ได้ตามกรณีทดสอบของคุณ

ตอนนี้เรามาเรียนรู้เกี่ยวกับวิธีการต่างๆในชั้นเรียน Select นี้กัน

เลือกคลาสใน Selenium WebDriver: เลือกคำสั่งต่างๆ

ต่อไปนี้เป็นวิธีการที่ใช้บ่อยที่สุดในการจัดการกับรายการแบบเลื่อนลง

หนึ่ง. selectByVisibleText: selectByVisibleText (สตริง arg0): โมฆะ

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

ไวยากรณ์: oSelect.selectByVisibleText (“ ข้อความ”)

ตัวอย่าง:

เลือก oSelect = new Select (driver.findElement (By.id ('search-box'))) oSelect.selectByVisibleText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): โมฆะ

วิธีนี้เกือบจะคล้ายกับ 'selectByVisibleText' แต่ข้อแตกต่างเพียงประการเดียวคือผู้ใช้ต้องระบุหมายเลขดัชนีสำหรับตัวเลือกแทนที่จะเป็นข้อความตัวเลือก ใช้พารามิเตอร์จำนวนเต็มซึ่งเป็นค่าดัชนีของ เลือกองค์ประกอบ และมันไม่ส่งคืนอะไรเลย

Synatx: oSelect.selectByIndex (int)

ตัวอย่าง:

เลือก oSelect = new Select (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3. selectByValue: selectByValue (สตริง arg0): โมฆะ

วิธีนี้คล้ายกับสิ่งที่ฉันได้กล่าวไว้ก่อนหน้านี้อีกครั้งข้อแตกต่างเพียงอย่างเดียวในวิธีนี้คือขอค่าของตัวเลือกแทนที่จะเป็นข้อความตัวเลือกหรือดัชนี ใช้พารามิเตอร์ String ซึ่งเป็นหนึ่งในค่าของ เลือกองค์ประกอบ และไม่ส่งคืนอะไรเลย

คลาส pojo ใน java คืออะไร

ไวยากรณ์: oSelect.selectByValue (“ ข้อความ”)

ตัวอย่าง:

เลือก oSelect = new Select (driver.findElement (By.id ('Search-box'))) oSelect.selectByValue ('Selenium Certification training')

สี่. getOptions: getOptions (): รายการ

วิธีนี้ช่วยให้ได้รับตัวเลือกทั้งหมดที่เป็นของแท็ก Select ไม่ต้องใช้พารามิเตอร์และผลตอบแทน รายการ .

ไวยากรณ์: oSelect.getOptions ()

ตัวอย่าง:

เลือก oSelect = new Select (driver.findElement (By.id ('Search-box'))) List elementCount = oSelect.getOptions () System.out.println (elementCount.size ())

ดังนั้นเรามาดูหัวข้อถัดไปและเรียนรู้เกี่ยวกับวิธีการเลือกหลายรายการ

เลือกคลาสใน Selenium WebDriver: คำสั่ง Multiple SELECT ทำงานอย่างไร?

แอตทริบิวต์การเลือกหลายรายการเป็นนิพจน์บูลีน เมื่อเป็นเช่นนี้จะระบุว่าสามารถเลือกได้หลายตัวเลือกพร้อมกัน ตัวเลือกเหล่านี้แตกต่างกันไปสำหรับระบบปฏิบัติการและเบราว์เซอร์ต่างๆ ได้แก่ :

  • สำหรับ Windows: กดปุ่ม control (ctrl) ค้างไว้เพื่อเลือกหลายตัวเลือก
  • สำหรับ Mac: กดปุ่มคำสั่งค้างไว้เพื่อเลือกหลายตัวเลือก

เป็นมิตรกับผู้ใช้ที่จะใช้ช่องทำเครื่องหมายแทนการใช้วิธีต่างๆในการดำเนินการเนื่องจากคุณต้องแจ้งให้ผู้ใช้ทราบว่ามีการเลือกหลายรายการ มีวิธีการหนึ่งที่ช่วยระบุได้ว่าคุณสามารถใช้ตัวเลือกการเลือกหลายรายการได้

isMultiple

isMultiple (): บูลีน - วิธีนี้จะบอกว่าองค์ประกอบ SELECT สนับสนุนตัวเลือกการเลือกหลายรายการในเวลาเดียวกันหรือไม่ วิธีนี้ไม่ยอมรับอะไรเลยนอกจากส่งกลับค่าบูลีน (จริง / เท็จ)

ไวยากรณ์: oSelect.isMultiple ()

ตัวอย่าง:

เลือก oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (ดัชนี) oSelect.selectByIndex (ดัชนี) // หรือสามารถใช้เป็น oSelect.selectByVisibleText (ข้อความ) oSelect.selectByVisibleText (ข้อความ) / / หรือสามารถใช้เป็น oSelect.selectByValue (ค่า) oSelect.selectByValue (ค่า)

เลือกคลาสใน Selenium WebDriver: DeSelect method

เมื่อคุณเลือกองค์ประกอบใดองค์ประกอบหนึ่งบนหน้าเว็บมีวิธีการบางอย่างที่จะช่วยในการยกเลิกการเลือกองค์ประกอบนั้น แต่ความท้าทายเดียวในวิธีการเหล่านี้คือพวกเขาไม่ได้ผล หล่นลง และใช้ได้กับ เลือกหลายรายการ องค์ประกอบ

ในกรณีที่คุณต้องการยกเลิกการเลือกตัวเลือกที่เลือกไว้ล่วงหน้าสามารถทำได้ด้วยอย่างใดอย่างหนึ่ง

  • ยกเลิกการเลือกทั้งหมด ()
  • deselectByIndex
  • ยกเลิกการเลือก ByValue
  • deselectByVisibletext

ให้เราเข้าใจวิธีการโดยละเอียด

  • ยกเลิกการเลือกทั้งหมด (): จะล้างรายการที่เลือกทั้งหมด ใช้ได้เฉพาะเมื่อองค์ประกอบแบบเลื่อนลงรองรับการเลือกหลายรายการ

ตัวอย่าง: o เลือก ยกเลิกการเลือกทั้งหมด ()

  • deselectByIndex (): มันยกเลิกการเลือกตัวเลือกในดัชนีที่กำหนด

ตัวอย่าง: o เลือก deselectByIndex (2)

  • deselectByValue (): วิธีนี้ช่วยในการยกเลิกการเลือกตัวเลือกที่มี“ มูลค่า 'แอตทริบิวต์ตรงกับพารามิเตอร์เฉพาะ

ตัวอย่าง: o เลือก deselectByValue (“ 13”)

  • deselectByVisibletext (): วิธีนี้ช่วยในการยกเลิกการเลือกตัวเลือกที่แสดงข้อความที่ตรงกับพารามิเตอร์

เลือกคลาสใน Selenium WebDriver: จะเลือกตัวเลือกจากเมนูแบบเลื่อนลงได้อย่างไร?

โครงสร้างข้อมูลใน java คืออะไร

ฉันจะช่วยให้พวกคุณเข้าใจวิธีนี้ เลือก วิธีการทำงานร่วมกับตัวอย่างแบบเรียลไทม์

ในกรณีนี้ฉันจะพิจารณาทำงานในเว็บไซต์อีคอมเมิร์ซที่มีชื่อเสียง facebook.com.

  • ขั้นแรกให้เพิ่มไลบรารี Java ลงในระบบของคุณ
  • IDE ที่คุณสามารถเขียนโค้ดได้ ฉันจะพิจารณาทำงานกับ Eclipse IDE เนื่องจากใช้งานง่าย
  • เพิ่มห้องสมุดซีลีเนียมลงในโครงการ
  • รับ URL ของหน้าเว็บ
  • ดำเนินการตามที่ต้องการในรายการดรอปดาวน์

ฉันได้อธิบายสิ่งนี้โดยใช้ 2 โปรแกรมที่แตกต่างกัน โปรแกรมแรกจะช่วยคุณในการเลือกค่าจากรายการดรอปดาวน์และโปรแกรมที่สองช่วยในการดำเนินการต่างๆในรายการดรอปดาวน์

  • ขั้นแรกให้ตั้งค่าไฟล์ .
  • รับ URL ของ เฟสบุ๊ค .
  • สร้างไฟล์ วัตถุและค้นหาองค์ประกอบโดยใช้ตัวระบุตำแหน่งองค์ประกอบ
  • เลือกวัตถุของ WebElement โดยใช้วิธีการเลือก
  • ออกจากการเรียกใช้ไดรเวอร์

อ้างถึงรหัสนี้:

package Edurekaa import org.junit.Test import org.openqa.selenium By import org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.chrome.ChromeDriver นำเข้า org.openqa.selenium.support.ui เลือกคลาสสาธารณะ SelectClass {@Test public static void main (String [] args) พ่น InterruptedException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') ไดรเวอร์ WebDriver = ใหม่ ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maximize () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) เลือก oSelect = new Select (month_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (By .id ('year')) เลือก year_y = new Select (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('month')) Sele ct month_d1 = new Select (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

โปรแกรมที่สองเกี่ยวข้องกับการดำเนินการในรายการดรอปดาวน์ ในกรณีนี้ให้เราพิมพ์จำนวนเดือนและชื่อด้วย

  • สร้างรายการ WebElements และเลือกตัวเลือก
  • ดูขนาดของเดือนแบบเลื่อนลง
  • พิมพ์ขนาดของรายการเดือน
  • สร้างวัตถุอื่นของ WebElement มัน และรับชื่อเดือน
  • พิมพ์หมายเลขโดยใช้ for loop
  • ออกจากการเรียกใช้ไดรเวอร์
package Edurekaa import java.util.List import org.junit.Test import org.openqa.selenium By import org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa .selenium.chrome.ChromeDriver import org.openqa.selenium.support.ui เลือกคลาสสาธารณะ SelectClass2 {@Test public static void main (String [] args) พ่น InterruptedException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') ไดรเวอร์ WebDriver = ChromeDriver ใหม่ () JavascriptExecutor js = (JavascriptExecutor) ไดรเวอร์ driver.get (' http://www.facebook.com ') driver.manage (). window () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) เลือก oSelect = new Select (month_dropdown) List & ampampltWebElement & ampampgt month_list = oSelect.getOptions ( ) int total_month = month_list.size () System.out.println ('Total count is' + total_month) สำหรับ (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Months are' + month_name)} driver.quit ()}}

ตอนนี้เรามาจบที่บล็อก“ วิธีการเลือกจากเมนูแบบเลื่อนลงใน Selenium WebDriver” ฉันหวังว่าพวกคุณจะสนุกกับบทความนี้และเข้าใจวิธีการทำงานของ Select class ใน Selenium

เมื่อคุณเข้าใจวิธีการเลือกค่าจากรายการแบบเลื่อนลงโดยใช้ซีลีเนียมแล้วให้ดูที่ไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 650,000 คนกระจายอยู่ทั่วโลก หลักสูตรนี้ออกแบบมาเพื่อแนะนำคุณเกี่ยวกับคุณสมบัติของซีลีเนียมที่สมบูรณ์และความสำคัญในการทดสอบซอฟต์แวร์

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ“ วิธีการเลือกจากเมนูแบบเลื่อนลงใน Selenium WebDriver” แล้วเราจะติดต่อกลับไป