Selenium ส่วนขยายหลัก (User-Extensions.js)

เพื่อทำความเข้าใจส่วนขยาย เรามาทำความเข้าใจเสาหลักทั้งสามของ IDE ซีลีเนียมก่อน

  1. การดำเนินการ: คุณกำลังดำเนินการอะไรบนหน้าจอ UI

    Selenium ส่วนขยายหลัก

  2. ผู้ประเมิน/การยืนยัน: คุณทำการยืนยันอะไรบ้างกับข้อมูลที่คุณได้รับจาก UI

Selenium ส่วนขยายหลัก

  1. Locator Strategy: เราจะค้นหาองค์ประกอบใน UI ได้อย่างไร

Selenium ส่วนขยายหลัก

ตอนนี้ Selenium IDE มีไลบรารี่ที่ครบถ้วนสมบูรณ์พร้อมด้วย Actions, Assertion/Assessors และ Locator Strategies มากมาย

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

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

ความต้องการในการสร้าง Selenium ส่วนขยายผู้ใช้

เพื่อสร้างส่วนขยายผู้ใช้สำหรับ Selenium IDE เราต้องรู้แนวคิดพื้นฐานของ Javaต้นฉบับ ที่ Java แนวคิดวัตถุต้นแบบสคริปต์

ข้อกำหนดในการสร้าง Selenium ส่วนขยายผู้ใช้

ในการสร้างส่วนขยายผู้ใช้ของคุณ คุณต้องสร้าง Java วิธีการสคริปต์และเพิ่มเข้าในต้นแบบวัตถุ Selenium และต้นแบบวัตถุ PageBot

สรุป ความน่าเชื่อถือของ Olymp Trade? Selenium IDE รู้จักส่วนขยายผู้ใช้หรือไม่

หลังจากเพิ่ม User Extension เข้าไปแล้ว Selenium IDE เมื่อเราเริ่มต้น Selenium IDE ส่วนขยายทั้งหมดนี้ในต้นแบบจาวาสคริปต์ถูกโหลดแล้ว และ Selenium IDE จดจำพวกเขาด้วยชื่อของพวกเขา

วิธีสร้างส่วนขยายผู้ใช้

ขั้นตอนที่ 1) การดำเนินการ– การกระทำทั้งหมดเริ่มต้นด้วยคำว่า “ทำ” เช่น หากการกระทำนั้นมีไว้สำหรับข้อความตัวพิมพ์ใหญ่มากกว่าชื่อ doTextUpperCase. เมื่อเราเพิ่มวิธีดำเนินการนี้เข้าไป Selenium SDI, Selenium IDE จะสร้างวิธีการรอสำหรับการดำเนินการนี้เอง ดังนั้นในกรณีนี้เมื่อเราสร้าง doTextUpperCase การกระทำ Selenium IDE จะสร้างฟังก์ชันรอที่สอดคล้องกันเป็น ข้อความUpperCaseAndWait- สามารถรับพารามิเตอร์ได้สองตัว

ตัวอย่าง: การดำเนินการข้อความตัวพิมพ์ใหญ่

Selenium.prototype.doTextUpperCase = function(locator, text) {
     // Here findElement is itself capable to handle all type of locator(xpath,css,name,id,className), We just need to pass the locator text
     var element = this.page().findElement(locator);
      
     // Create the text to type
     text = text.toUpperCase();
      
     // Replace the element text with the new text
     this.page().replaceText(element, text);
    };

ขั้นตอนที่ 2) ผู้ประเมิน/การยืนยัน- ผู้ประเมินทั้งหมดที่ลงทะเบียนในต้นแบบวัตถุเซเลเนียมจะมีคำนำหน้า

โดย "รับ" หรือ "เป็น" เช่น getValueFromCompoundTable , isValueFromCompoundTable โดยสามารถรับพารามิเตอร์ได้ 2 ตัว ตัวหนึ่งสำหรับเป้าหมาย และอีกตัวสำหรับฟิลด์ค่าในกรณีทดสอบ

สร้างส่วนขยายผู้ใช้

สำหรับผู้ประเมินแต่ละราย จะมีฟังก์ชันการตรวจสอบที่เกี่ยวข้องซึ่งนำหน้าด้วย "ยืนยัน" "ยืนยัน" และฟังก์ชันรอนำหน้าด้วย "waitFor"

ตัวอย่าง: สำหรับผู้ประเมินข้อความตัวพิมพ์ใหญ่

Selenium.prototype.assertTextUpperCase = function(locator, text) {
     // All locator-strategies are automatically handled by "findElement"
     var element = this.page().findElement(locator);
      
     // Create the text to verify
     text = text.toUpperCase();
      
     // Get the actual element value
     var actualValue = element.value;
    
     // Make sure the actual value matches the expected
     Assert.matches(expectedValue, actualValue);
    };
    
    Selenium.prototype.isTextEqual = function(locator, text) {
     return this.getText(locator).value===text;
    };
    
    Selenium.prototype.getTextValue = function(locator, text) {
     return this.getText(locator).value;
    };

ขั้นตอนที่ 3) กลยุทธ์ตัวระบุตำแหน่ง- หากเราต้องการสร้างฟังก์ชันของเราเองเพื่อค้นหาองค์ประกอบแล้ว

เราจำเป็นต้องขยายต้นแบบ PageBot ด้วยฟังก์ชันที่มีคำนำหน้า “locateElementBy”

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

จะต้องค้นหาที่ไหน

ตัวอย่าง: สำหรับตัวระบุข้อความตัวพิมพ์ใหญ่

// The "inDocument" is a document you are searching.
    PageBot.prototype.locateElementByUpperCase = function(text, inDocument) {
     // Create the text to search for
     var expectedValue = text.toUpperCase();
      
     // Loop through all elements, looking for ones that have
     // a value === our expected value
     var allElements = inDocument.getElementsByTagName("*");
// This star '*' is a kind of regular expression it will go through every element (in HTML DOM every element surely have a tag name like<body>,<a>,<h1>,<table>,<tr>,<td> etc. ). Here our motive is to find an element which matched with the Upper Case text we have passed so we will search it with all elements and when we get match we will have the correct web element.
     for (var i = 0; i < allElements.length; i++) {
     var testElement = allElements[i];
     if (testElement.innerHTML && testElement.innerHTML === expectedValue) {
     return testElement;
     }
     }
     return null;
    };

จะใช้ส่วนขยายหลักที่สร้างขึ้นใหม่ได้อย่างไร

  1. ไปที่ Selenium IDE

    คลิกที่ตัวเลือก -> ตัวเลือก...

ใช้ส่วนขยายหลักที่สร้างขึ้นใหม่

  1. ในส่วนทั่วไปเลือกตำแหน่งของที่สร้างขึ้นใหม่ Selenium ส่วนขยายหลัก

    ใช้ส่วนขยายหลักที่สร้างขึ้นใหม่

  2. คลิกตกลงและรีสตาร์ท Selenium IDE

ใช้ส่วนขยายหลักที่สร้างขึ้นใหม่

  1. คุณจะพบส่วนขยายในรายการคำสั่ง

ใช้ส่วนขยายหลักที่สร้างขึ้นใหม่

นี่คือรายการส่วนขยาย/ปลั๊กอินยอดนิยมที่ใช้ Selenium IDE

Name จุดมุ่งหมาย
ห้องพักที่ชื่นชอบ เพื่อทำเครื่องหมายชุดทดสอบเป็นรายการโปรดและดำเนินการได้ในคลิกเดียว
Flex Pilot X สำหรับระบบอัตโนมัติแบบ Flex
FlexMonkium สำหรับการบันทึกและเล่นโดยใช้ Adobe Flex การทดสอบ in Selenium IDE
การบันทึกไฟล์ สำหรับการบันทึกบันทึกลงในไฟล์
การควบคุมการไหล เพื่อควบคุมขั้นตอนการดำเนินการทดสอบ
ไฮไลท์องค์ประกอบ เพื่อเน้นการควบคุมเว็บ
รอโดยปริยาย เพื่อรอองค์ประกอบตามระยะเวลาที่กำหนด
ภาพหน้าจอเมื่อล้มเหลว จับภาพหน้าจอเมื่อเกิดความล้มเหลว
ผลการทดสอบ ลด กรณีทดสอบ ผลลัพธ์สำหรับชุดทดสอบได้ในคลิกเดียว

คุณสามารถรับสิ่งเหล่านี้ทั้งหมดและอีกมากมายได้จาก Seleniumส่วนดาวน์โหลดของเว็บไซต์อย่างเป็นทางการของ HQ

http://docs.seleniumhq.org/download/

สรุป

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

ดาวน์โหลด Selenium Core Extension ที่ใช้ในบทช่วยสอนนี้