Action Class ใน Selenium & It's Applications คืออะไร?

เผยแพร่แล้ว: 2021-05-19

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

สารบัญ

เหตุการณ์แป้นพิมพ์และเมาส์ที่ใช้กันทั่วไป

เหตุการณ์แป้นพิมพ์และเมาส์พิเศษได้รับการจัดการโดยใช้ Advanced User Interactions API API นี้มีคลาส Action และ Actions ที่จำเป็นขณะดำเนินการกิจกรรมเหล่านี้ ด้านล่างนี้คือเหตุการณ์แป้นพิมพ์และเมาส์ที่ใช้กันทั่วไปซึ่งมีให้ในคลาส Action

วิธี คำอธิบาย
คลิกค้างไว้ () คลิกโดยไม่ปล่อยที่ตำแหน่งเมาส์ปัจจุบัน
บริบทคลิก () ทำการคลิกตามบริบท (คลิกขวาเมาส์) ที่ตำแหน่งเมาส์ปัจจุบัน
ดับเบิลคลิก() ดำเนินการดับเบิลคลิกที่ตำแหน่งเมาส์ปัจจุบัน
ลากและวาง (ต้นทาง, เป้าหมาย) ดำเนินการคลิกค้างไว้ที่ตำแหน่งองค์ประกอบต้นทาง จากนั้นย้ายไปยังตำแหน่งองค์ประกอบเป้าหมายแล้วปล่อยเมาส์

พารามิเตอร์:

องค์ประกอบแหล่งที่มาเพื่อจำลองเหตุการณ์ปุ่มลง

องค์ประกอบเป้าหมายเพื่อย้ายและปล่อยเมาส์

dragAnd DropBy (แหล่งที่มา, x-offset, y-offset) ดำเนินการคลิกค้างไว้ที่ตำแหน่งองค์ประกอบต้นทาง เคลื่อนที่ตามออฟเซ็ตที่ระบุ จากนั้นปล่อยเมาส์

พารามิเตอร์:

องค์ประกอบแหล่งที่มาเพื่อจำลองเหตุการณ์ปุ่มลง

xOffset- เพื่อระบุออฟเซ็ตการย้ายแนวนอน

yOffset- เพื่อระบุออฟเซ็ตการย้ายแนวตั้ง

keyDown(modifier_key) ดำเนินการเหตุการณ์การกดแป้นตัวแก้ไข ไม่ปล่อยคีย์ตัวปรับแต่งด้วยการโต้ตอบที่ตามมาโดยถือว่าถูกกด

พารามิเตอร์:

modifier_key เพื่อแสดงคีย์ตัวปรับแต่งใดๆ เช่น Keys.SHIFT, Keys.ALT หรือ Keys.CONTROL

คีย์ขึ้น (modifier_key) ดำเนินการปล่อยคีย์

พารามิเตอร์:

modifier_key เพื่อแสดงคีย์ตัวปรับแต่งใดๆ เช่น Keys.SHIFT, Keys.ALT หรือ Keys.CONTROL

moveByOffset(x-offset, y-offset) เลื่อนเมาส์จากตำแหน่งปัจจุบันตามออฟเซ็ตที่ระบุ

พารามิเตอร์:

x-offset เพื่อระบุออฟเซ็ตแนวนอน ค่าลบหมายความว่าเมาส์กำลังเคลื่อนไปทางซ้าย

y-offset เพื่อระบุออฟเซ็ตแนวตั้ง ค่าลบหมายความว่าเมาส์กำลังเคลื่อนลงด้านล่าง

ย้ายToElement(toElement) เลื่อนเมาส์จากตรงกลางไปยังตรงกลางขององค์ประกอบ

พารามิเตอร์:

องค์ประกอบที่เป็นตัวแทนขององค์ประกอบที่จะย้ายไป

ปล่อย() ปล่อยปุ่มเมาส์ซ้ายของเมาส์ที่กดที่ตำแหน่งเมาส์ปัจจุบัน
sendKeys(onElement, ลำดับ) ส่งชุดการกดแป้นพิมพ์ไปยังองค์ประกอบ

พารามิเตอร์:

องค์ประกอบที่แสดงถึงองค์ประกอบที่จะรับการกดแป้นพิมพ์ มักจะเป็นฟิลด์ข้อความ

ลำดับถ่าน- ค่าสตริงใดๆ ที่แสดงถึงลำดับของการกดแป้นที่ส่ง

ตัวอย่างการประยุกต์ใช้ Selenium Action Class

1. นำเข้า Action และ คลาส Action

นำเข้า org.open a.selenium.interactions.Action;

นำเข้า org.open a.selenium.interactions.Actions;

2. สร้างอ็อบเจกต์ Actions ใหม่

ตัวสร้างการดำเนินการ = การดำเนินการใหม่ (ไดรเวอร์);

3. สร้างอินสแตนซ์ของการดำเนินการโดยใช้อ็อบเจ็กต์ Action ในขั้นตอนก่อนหน้า

Action mouseOverHome = ผู้สร้าง

.moveToElement(link_Home)

.สร้าง();

ที่นี่ เราใช้เมธอด moveToElement() เพื่อวางเมาส์ไว้เหนือลิงก์โฮม build() เป็นวิธีสุดท้ายเสมอเพื่อให้แน่ใจว่าการกระทำทั้งหมดถูกรวบรวมในขั้นตอนเดียว

4. ใช้วิธีการดำเนินการในขณะที่ดำเนินการวัตถุการดำเนินการที่เราประกาศในขั้นตอนก่อนหน้านี้

ไวยากรณ์:

mouseOverHome.perform();

ตัวอย่างที่ 2:

ให้เรายกตัวอย่างอื่นที่ใช้คลาส Action เพื่อนำคุณสมบัติการเติมข้อความอัตโนมัติของกล่องข้อความไปใช้

ในการดำเนินการด้วยตนเอง เรากดปุ่ม shift พิมพ์ข้อความที่ต้องป้อนด้วยตัวพิมพ์ใหญ่ แล้วปล่อยปุ่ม shift กดปุ่ม Shift + ตัวอักษรพร้อมกัน

เพื่อเลียนแบบการดำเนินการเดียวกันผ่านสคริปต์การทำงานอัตโนมัติ ใช้วิธี Actions Class

1. นำเข้า-แพ็คเกจ

คลาส Action and Actions มีอยู่ในแพ็คเกจ org.openqa.selenium.interactions ของ Web Driver API หากต้องการใช้สิ่งเหล่านี้ คุณต้องนำเข้าแพ็คเกจ:

org.openqa.selenium.interactions.Action;

org.openqa.selenium.interactions.Actions;

2. ยกตัวอย่างคลาส Action

จะช่วยได้ถ้าคุณสร้างวัตถุของคลาส Actions เพื่อเรียกใช้เมธอดของมัน ดังนั้นเราจึงสร้างอินสแตนซ์คลาส Actions และใช้วัตถุ WebDriver เพื่อเริ่มต้นคลาส ไวยากรณ์คือ:

การกระทำของการกระทำ = การกระทำใหม่ (วัตถุ webdriver);

3. สร้าง ลำดับของการกระทำ

ในตัวอย่างนี้ ลำดับของขั้นตอนในการดำเนินการหลายรายการคือ:

  • กดปุ่ม Shift
  • ส่งข้อความที่ต้องการ
  • ปล่อยแป้น Shift

ในการดำเนินการเหล่านี้ คลาส Action มีเมธอดเช่น:

  • วิธี keyDown ให้กดแป้น Shift
  • วิธี sendKeys เพื่อส่งข้อความที่ต้องการ
  • วิธี keyUp จะปล่อยปุ่ม Shift
  • keyDown ทำหน้าที่เป็นการกดแป้นตัวปรับแต่งเพื่อโฟกัสที่องค์ประกอบในขณะที่วิธี keyUp จะปล่อยปุ่มตัวแก้ไขที่กด

ปุ่มปรับแต่งจะเปลี่ยนการทำงานของปุ่มอื่นเมื่อกดทั้งสองปุ่มพร้อมกัน เช่น Shift, Alt และ Ctrl

ลำดับของการดำเนินการจะถูกสร้างขึ้น แต่การดำเนินการเหล่านี้ดำเนินการใน webElement ขั้นตอนสำหรับสิ่งนี้คือ:

องค์ประกอบ WebElement = driver.findElement;

actions.keyDown (องค์ประกอบ, คีย์, Shift);

action.sendKeys(“TexttoBeConvertAndSendInUpperCase);

actions.keyUp(คีย์.Shift);

สิ่งสำคัญที่ต้องสังเกตที่นี่คือ หากคุณเลื่อนเมาส์ไปรอบๆ เมธอดของคลาส Action ออบเจ็กต์คลาส Actions จะถูกส่งคืน

4. สร้าง ลำดับการกระทำ

คุณสามารถสร้างลำดับการดำเนินการผ่านเมธอด build() ของคลาส Actions เมธอดนี้จะสร้างชุดการดำเนินการทั้งหมดที่พร้อมดำเนินการ ไวยากรณ์คือ:

แอ็คชันแอ็คชัน = actions.build();

เมธอด build() ส่งคืนอ็อบเจ็กต์ประเภท Action ที่แสดงถึงการกระทำแบบผสมที่สร้างขึ้นจากลำดับของการกระทำหลายรายการที่ถูกเรียกใช้โดยการเรียกใช้เมธอด

5. ดำเนิน การตามลำดับการกระทำ

ขั้นตอนสุดท้ายในการดำเนินการคลาส Action คือการดำเนินการตามลำดับการกระทำผ่านเมธอด perform() ของอินเทอร์เฟซ Action ไวยากรณ์คือ:

action.perform();

ต้องดำเนินการตามขั้นตอนข้างต้นเพื่อใช้ประโยชน์จากวิธีการคลาส Actions ทั้งหมด และดำเนินการต่าง ๆ ของผู้ใช้โดยใช้แป้นพิมพ์และเมาส์

เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

อะไรต่อไป?

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาซอฟต์แวร์ฟูลสแตก โปรดดูที่ upGrad & IIIT-B's Executive PG Program Full-stack Software Development ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมอย่างเข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และ การมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักที่นำไปปฏิบัติจริง และความช่วยเหลือด้านงานกับบริษัทชั้นนำ

คลาสแอคชั่นในซีลีเนียมคืออะไร?

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

การใช้ซีลีเนียมคืออะไร?

ซีลีเนียมเป็นเครื่องมือทดสอบซอฟต์แวร์แบบพกพาที่ทรงพลังมาก (เครื่องมือทดสอบซอฟต์แวร์ซีลีเนียม) ซึ่งใช้ในการบันทึกและเล่นการกระทำของผู้ใช้บนหน้าเว็บ ใช้เพื่อทดสอบข้อกำหนดการทำงานและไม่ใช่หน้าที่ของเว็บแอปพลิเคชันบนเว็บเบราว์เซอร์ใดๆ มีการใช้งานใน Java และมี API ที่ง่ายมาก รองรับการทดสอบเว็บแอปพลิเคชันในเว็บเบราว์เซอร์หลัก ๆ เช่น Firefox, Chrome, Internet Explorer, Safari เป็นต้น

จะเรียนรู้ซีลีเนียมใน Java ได้อย่างไร

Selenium เป็นเครื่องมือที่ให้คุณเขียนการทดสอบอัตโนมัติในภาษาโปรแกรมต่างๆ การทดสอบเขียนโดยใช้ไดรเวอร์เว็บ คุณสามารถใช้เพื่อทดสอบเว็บแอปพลิเคชันของคุณตามภาษาการเขียนโปรแกรมต่อไปนี้: Java, C#, Python และ PHP ที่จริงแล้ว นักพัฒนาหลายคนรู้สึกว่าไม่จำเป็นต้องเรียนรู้ Selenium Java API มากนัก Selenium WebDriver เป็นตัวเลือกที่เหมาะสมในการค้นหาองค์ประกอบบนหน้าและดำเนินการกับองค์ประกอบเหล่านั้น เป็นไปได้ที่จะทำการทดสอบในภาษาการเขียนโปรแกรมหลายภาษา แต่ถ้าคุณต้องการเขียนการทดสอบใน Java Selenium WebDriver เป็นตัวเลือกที่ดีที่สุด อีกวิธีหนึ่งในการเรียนรู้ Selenium ใน Java คือการใช้ Selenium IDE หรือที่เรียกว่า Selenium RC เบราว์เซอร์รองรับเครื่องมือนี้ไม่ดีเท่าที่เราทราบ รองรับเฉพาะ Firefox และ Chrome แต่ IDE สามารถช่วยให้คุณออกแบบและดำเนินการกรณีทดสอบ Selenium, บันทึกและเล่นกรณีทดสอบได้อย่างรวดเร็ว, สร้างกรณีทดสอบอัตโนมัติ ฯลฯ