ซีลีเนียม - รีโมทคอนโทรล
Selenium RC คืออะไร?
Selenium Remote Control (RC) เป็นโครงการหลักของซีลีเนียมที่คงอยู่เป็นเวลานานก่อนที่ Selenium WebDriver (Selenium 2.0) จะมีขึ้น ตอนนี้ Selenium RC แทบไม่ได้ใช้งานเนื่องจาก WebDriver มีคุณสมบัติที่มีประสิทธิภาพมากขึ้นอย่างไรก็ตามผู้ใช้ยังคงสามารถพัฒนาสคริปต์โดยใช้ RC ได้
ช่วยให้เราสามารถเขียนการทดสอบ UI ของเว็บแอปพลิเคชันอัตโนมัติด้วยความช่วยเหลือของภาษาโปรแกรมเช่น Java, C #, Perl, Python และ PHP เพื่อสร้างการทดสอบที่ซับซ้อนมากขึ้นเช่นการอ่านและเขียนไฟล์การสืบค้นฐานข้อมูลและการส่งอีเมลผลการทดสอบ .
สถาปัตยกรรม Selenium RC
Selenium RC ทำงานในลักษณะที่ไลบรารีไคลเอ็นต์สามารถสื่อสารกับ Selenium RC Server โดยส่งคำสั่ง Selenium แต่ละคำสั่งเพื่อดำเนินการ จากนั้นเซิร์ฟเวอร์จะส่งคำสั่ง Selenium ไปยังเบราว์เซอร์โดยใช้คำสั่ง Selenium-Core JavaScript
เบราว์เซอร์เรียกใช้คำสั่ง Selenium โดยใช้ตัวแปล JavaScript
Selenium RC มีสองส่วน
Selenium Server เปิดตัวและฆ่าเบราว์เซอร์ นอกจากนั้นยังตีความและดำเนินการคำสั่ง Selenese นอกจากนี้ยังทำหน้าที่เป็นพร็อกซี HTTP โดยดักจับและตรวจสอบข้อความ HTTP ที่ส่งผ่านระหว่างเบราว์เซอร์และแอปพลิเคชันที่อยู่ระหว่างการทดสอบ
ไลบรารีไคลเอ็นต์ที่จัดเตรียมอินเทอร์เฟซระหว่างภาษาโปรแกรม (Java, C #, Perl, Python และ PHP) และเซิร์ฟเวอร์ Selenium-RC
การเขียนสคริปต์ RC
ตอนนี้ให้เราเขียนสคริปต์ตัวอย่างโดยใช้ Selenium Remote Control ให้เราใช้http://www.calculator.net/เพื่อความเข้าใจ Selenium RC เราจะทำการคำนวณเปอร์เซ็นต์โดยใช้ 'เครื่องคำนวณเปอร์เซ็นต์' ที่มีอยู่ในโมดูล 'เครื่องคำนวณทางคณิตศาสตร์'
Step 1 - เริ่มการควบคุมระยะไกล Selenium (ด้วยความช่วยเหลือของพรอมต์คำสั่ง)
Step 2 - หลังจากเปิดตัว Selenium RC แล้วให้เปิด Eclipse และสร้าง "New Project" ดังที่แสดงด้านล่าง
Step 3 - ป้อนชื่อโครงการและคลิกปุ่ม 'ถัดไป'
Step 4 - ตรวจสอบโฟลเดอร์ Source, Projects, Libraries และ Output แล้วคลิก 'Finish'
Step 5 - คลิกขวาที่ 'project' container แล้วเลือก 'Configure Build Path'
Step 6- คุณสมบัติสำหรับ 'selrcdemo' จะเปิดขึ้น ไปที่แท็บ 'Libraries' และเลือก 'Add External JARs' เลือกไฟล์ Selenium RC jar ที่เราดาวน์โหลดมาและจะปรากฏดังที่แสดงด้านล่าง
Step 7 - ไลบรารีอ้างอิงจะแสดงดังที่แสดงด้านล่าง
Step 8 - สร้างไฟล์คลาสใหม่โดยคลิกขวาที่โฟลเดอร์ 'src' แล้วเลือก 'New' >> 'class'
Step 9 - ป้อนชื่อของไฟล์คลาสและเปิดใช้งาน 'public static void main' ดังที่แสดงด้านล่าง
Step 10 - Created Class ถูกสร้างขึ้นภายใต้โครงสร้างโฟลเดอร์ดังที่แสดงด้านล่าง
Step 11- ตอนนี้ได้เวลาเขียนโค้ดแล้ว โค้ดต่อไปนี้มีความคิดเห็นฝังอยู่เพื่อให้ผู้อ่านเข้าใจถึงสิ่งที่นำเสนอ
package selrcdemo;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
public class rcdemo {
public static void main(String[] args) throws InterruptedException {
// Instatiate the RC Server
Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
selenium.start(); // Start
selenium.open("/"); // Open the URL
selenium.windowMaximize();
// Click on Link Math Calculator
selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
Thread.sleep(2500); // Wait for page load
// Click on Link Percent Calculator
selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
Thread.sleep(4000); // Wait for page load
// Focus on text Box
selenium.focus("name = cpar1");
// enter a value in Text box 1
selenium.type("css=input[name = \"cpar1\"]", "10");
// enter a value in Text box 2
selenium.focus("name = cpar2");
selenium.type("css = input[name = \"cpar2\"]", "50");
// Click Calculate button
selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");
// verify if the result is 5
String result = selenium.getText(".//*[@id = 'content']/p[2]");
if (result == "5") {
System.out.println("Pass");
} else {
System.out.println("Fail");
}
}
}
Step 12 - ตอนนี้ให้เรารันสคริปต์โดยคลิกปุ่ม 'เรียกใช้'
Step 13 - สคริปต์จะเริ่มดำเนินการและผู้ใช้จะสามารถดูประวัติคำสั่งภายใต้แท็บ "ประวัติคำสั่ง"
Step 14- สถานะสุดท้ายของแอปพลิเคชันแสดงดังต่อไปนี้ คำนวณเปอร์เซ็นต์และแสดงผลลัพธ์บนหน้าจอดังที่แสดงด้านล่าง
Step 15- ผลลัพธ์ของการทดสอบจะพิมพ์บนคอนโซล Eclipse ดังที่แสดงด้านล่างขณะที่เราได้พิมพ์เอาต์พุตไปยังคอนโซล ตามเวลาจริงผลลัพธ์จะถูกเขียนลงในไฟล์ HTML หรือในไฟล์ Text แบบธรรมดา