在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Selenium頁面對(duì)象模型
log4j日志
Selenium IDE測試創(chuàng)建
Selenium - IDE模式匹配
Selenium教程
多瀏覽器測試
Selenium IDE下載
Selenium用戶擴(kuò)展
鍵盤操作
捕捉屏幕截圖
Selenium網(wǎng)格
Selenium TestNG
Selenium定位器
查找所有鏈接
Selenium測試設(shè)計(jì)技術(shù)
鼠標(biāo)操作
下拉框交互
Selenium IDE驗(yàn)證點(diǎn)
Selenium IDE- 不同的瀏覽器
Selenium RC
多選擇操作
復(fù)選框交互
單選按鈕互動(dòng)
捕捉視頻
拖放
Selenium IDE 測試
Synchronization 同步
異常處理
Selenium 環(huán)境安裝設(shè)置
Selenium概述
用戶交互
Selenium Webdriver
Selenium IDE
Selenium頁面對(duì)象模型
Selenium IDE 工具特點(diǎn)
使用Excel數(shù)據(jù)驅(qū)動(dòng)
Selenium - Selenese命令

Selenium頁面對(duì)象模型

Selenium頁面對(duì)象模型

大家都知道,Selenium作用于webelements屬性,例如ID,名稱,Xpath等與QTP有一個(gè)內(nèi)置的對(duì)象庫(OR),Selenium還沒有NOT得到一個(gè)內(nèi)置OR。

因此,我們需要建立或也應(yīng)該是維護(hù)和按需訪問。 Page對(duì)象模型(POM)是一種流行的設(shè)計(jì)模式,以創(chuàng)造一種與webelements特性中的每一個(gè)都使用一個(gè)類文件創(chuàng)建一個(gè)對(duì)象庫。

優(yōu)點(diǎn)

  • 頁面的對(duì)象模型是其中測試對(duì)象和功能被彼此分開,從而保持代碼干凈的實(shí)現(xiàn)。

  • 對(duì)象保持獨(dú)立的測試腳本。一個(gè)目的可以通過一個(gè)或多個(gè)測試腳本進(jìn)行訪問,因此,POM可以幫助我們創(chuàng)建對(duì)象一次和多次使用。

  • 由于創(chuàng)建對(duì)象后,很容易訪問和易于更新一個(gè)對(duì)象的特定屬性。

POM流程圖

網(wǎng)頁中的每一個(gè)創(chuàng)建對(duì)象和方法被開發(fā)專用于訪問這些對(duì)象。讓我們利用http://calculator.net來理解是一樣的。

存在與之關(guān)聯(lián)的各種計(jì)算器,并在特定的頁面的那些對(duì)象中的每一個(gè)在一個(gè)單獨(dú)的類文件為靜態(tài)方法創(chuàng)建,他們都在'測試'class文件中的靜態(tài)方法將被訪問的對(duì)象進(jìn)行訪問。

Selenium IDE 145

示例

讓我們來了解通過執(zhí)行用于百分比計(jì)算器測試中實(shí)現(xiàn)POM 。

步驟1:創(chuàng)建一個(gè)包內(nèi)一個(gè)簡單的類(page_objects_perc_calc.java)文件,并創(chuàng)建這些對(duì)象標(biāo)識(shí)符中的每一個(gè)方法,如下圖所示。

package PageObject;

import org.openqa.selenium.*;
 
public class page_objects_perc_calc 
{
    private static WebElement element = null;
 
    // Math Calc Link
	public static WebElement lnk_math_calc(WebDriver driver)
	{
	     element = driver.findElement(By.xpath(".//*[@id='menu']/div[3]/a"));
	     return element;
	}
	
    // Percentage Calc Link
	public static WebElement lnk_percent_calc(WebDriver driver)
	{
	     element = driver.findElement(By.xpath(".//*[@id='menu']/div[4]/div[3]/a"));
	     return element;
	}
	
    // Number 1 Text Box
	public static WebElement txt_num_1(WebDriver driver)
	{
	     element = driver.findElement(By.id("cpar1"));
	     return element;
	}
	
    // Number 2 Text Box	
	public static WebElement txt_num_2(WebDriver driver)
	{
	     element = driver.findElement(By.id("cpar2"));
	     return element;
	}
	
    // Calculate Button	
	public static WebElement btn_calc(WebDriver driver)
	{
	     element = driver.findElement(By.xpath(".//*[@id='content']/table/tbody/tr/td[2]/input"));
	     return element;
	}	
	
    // Result	
	public static WebElement web_result(WebDriver driver)
	{
	     element = driver.findElement(By.xpath(".//*[@id='content']/p[2]/span/font/b"));
	     return element;
	}	
}

第2步:創(chuàng)建一個(gè)類主導(dǎo)入包,并為這些對(duì)象標(biāo)識(shí)符中的每一個(gè)方法,如下圖所示。

package PageObject;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class percent_calculator 
{
  private static WebDriver driver = null;
  
  public static void main(String[] args) 
  {
  	driver = new FirefoxDriver();
  	driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
  	driver.get("http://www.calculator.net");
  
  	// Use page Object library now
  	page_objects_perc_calc.lnk_math_calc(driver).click();		
  	page_objects_perc_calc.lnk_percent_calc(driver).click();
  	
  	
  	page_objects_perc_calc.txt_num_1(driver).clear();
  	page_objects_perc_calc.txt_num_1(driver).sendKeys("10");
  
  	page_objects_perc_calc.txt_num_2(driver).clear();
  	page_objects_perc_calc.txt_num_2(driver).sendKeys("50");
  
  	page_objects_perc_calc.btn_calc(driver).click();
  	
  	String result =  page_objects_perc_calc.web_result(driver).getText();		
  	
  	if(result.equals("5"))
  	{
  		System.out.println(" The Result is Pass");
  	}
  	else
  	{
  		System.out.println(" The Result is Fail");
  	}
  	
  	driver.close();
  }
}

輸出

該測試被執(zhí)行并且將結(jié)果打印在控制臺(tái)。以下是相同的快照。

Selenium IDE 146