日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

selenium java po模式_selenium + java po模式

發布時間:2025/3/12 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 selenium java po模式_selenium + java po模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

po模式大概介紹,大家也可以自己百度看看

Page Object模式主要是將每個頁面設計為一個類class,這個類包含頁面中需要測試的元素(按鈕、輸入框、URL、標題等)和實際操作方法,這樣在寫測試用例時可以通過調用頁面類的方法和屬性來獲取頁面元素和操作元素,這樣優點是避免當頁面元素的ID或位置改變時需要更改測試用例代碼的情況。當頁面元組定位發生改變時只要通過更改頁面類的屬性即可。

框架目錄結構

loginPage.java

package com.lilysilk.page;

import org.apache.poi.util.SuppressForbidden;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.support.FindBy;

/**

* 定位語句與測試代碼封裝

* */

public class loginPage {

//登錄頁面

@FindBy(className="touXiang")

private WebElement uloginPage;

//用戶名輸入框

@FindBy(xpath="//div[@class='userLogin']/div[1]/input[@id='email']")

private WebElement uName;

//密碼輸入框

@FindBy(xpath="//div[@class='userLogin']/div[2]/input[@id='password']")

private WebElement uPwd;

//登錄按鈕

@FindBy(id="loginButton")

private WebElement loginBtn;

//點擊跳轉登錄頁面

public void goLoginPage() {

uloginPage.click();

}

//輸入用戶名

public void loginName(String username) {

System.out.println(username);

uName.clear();

uName.sendKeys(username);

}

//輸入密碼

public void loginPwd(String password) {

System.out.println(password);

uPwd.clear();

uPwd.sendKeys(password);

}

//點擊登錄

public void loginBtn() {

loginBtn.click();

}

}

case層即處理層

loginLilysilk_Po.java

package com.lilysilk.testcase;

import java.util.concurrent.TimeUnit;

import org.junit.*;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.chrome.ChromeOptions;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.support.PageFactory;

import org.testng.annotations.AfterMethod;

import org.testng.annotations.BeforeMethod;

import com.lilysilk.page.loginPage;

import com.lilysilk.util.ExcelUtil;

public class loginLilysilk_Po {

public static WebDriver driver;

@Test

public void loginlily() throws Exception{

//定義測試用例路徑

String excelPath="E:\\javaDemo\\testProjectPo\\src\\com\\lilysilk\\data\\lilysilk.xlsx";

//讀取測試用例sheet頁

ExcelUtil.setExcelFile(excelPath,"login");

//打開瀏覽器

String BrowserName=ExcelUtil.getCellData(1,4);

//修改瀏覽器語言

ChromeOptions op=new ChromeOptions();

op.addArguments("--lang=en-US");

//equals比較時,要比較大小寫是否相同,equalsIgnoreCase,忽略了大小寫,ignore就是忽略的意思

if(BrowserName.equalsIgnoreCase("chrome")){

//初始化瀏覽器實例

driver=new ChromeDriver(op);

}else {

driver=new FirefoxDriver(op);

}

//瀏覽器最大化

driver.manage().window().maximize();

//打開網址

driver.get(ExcelUtil.getCellData(2, 4));

//初始化page頁面(注意:要放在打開瀏覽器之后)

loginPage loginPage=PageFactory.initElements(driver, loginPage.class);

loginPage.goLoginPage();

loginPage.loginName("112233@qq.com");

loginPage.loginPwd("112233@qq.com");

loginPage.loginBtn();

}

@BeforeMethod

public static void beforeMethod(){

}

@AfterMethod

public static void afterMethod(){

driver.close();

}

}

工具類

ExcelUtil.java

package com.lilysilk.util;

import java.io.FileInputStream;

import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**

*

*@Comments : 導入導出Excel工具類

*此類事實現操作指定的excel文件中的指定sheet頁、

*讀取指定的單元格內容、獲取sheet中最后一行的行號的功能

*

*

**/

public class ExcelUtil {

private static XSSFSheet ExcelWSheet;

private static XSSFWorkbook ExcelWBook;//excel文件對象

private static XSSFCell ExcelCell;//單元格對象

//舍得需要操作的excel的文件路徑和sheet名稱

//在讀,寫excel文件時,均需先調用此方法,設定要操作的excel的路徑和sheet名稱

public static void setExcelFile(String Path,String SheetName) {

FileInputStream ExcelFile;

try {

//實例化excel文件的FileInputStream對象

ExcelFile=new FileInputStream(Path);

//實例化EXCEL文件的execlWXSSFWorkbook對象

ExcelWBook =new XSSFWorkbook(ExcelFile);

//實例化 XSSFCell 對象,指定excel文件中的sheet名稱,后續用于sheet中行、列和單元格的操作

ExcelWSheet=ExcelWBook.getSheet(SheetName);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* @param rowNum行 colNum列

**/

//讀取excel文件中指定的單元格的函數,此函數只支持擴展名為.xlsx的excel文件

public static String getCellData(int rowNum,int colNum)throws Exception {

try {

//通過函數參數知道單元格的行號與列號,獲取指定的單元格對象

ExcelCell=ExcelWSheet.getRow(rowNum).getCell(colNum);

//如果單元格的內容為字符串類型,則使用getStringCellValue方法來獲取單元格內容

//如果單元格的內容為數字類型, 則使用getNumericCellValue方法來獲取單元格內容

String CellData =ExcelCell.getCellType()==XSSFCell.CELL_TYPE_STRING?ExcelCell.getStringCellValue()+"":String.valueOf(Math.round(ExcelCell.getNumericCellValue()));

return CellData;

}

catch(Exception e){

e.printStackTrace();

//讀取遇到異常,則返回空字符串

return "錯了";

}

}

//獲取excel文件的最后一行的行號

public static int getLastRowNum() {

//函數返回sheet的最后一行行號

return ExcelWSheet.getLastRowNum();

}

}

data層即數據層

遇到的問題:

問題1:org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException: The supplied data appears to be in the OLE2 Format. You are calling the part of POI that deals with OOXML (Office Open XML) Documents. You need to call a different part of POI to process this data (eg HSSF instead of XSSF)

像這個報錯就是所用的XSSF是支持excel2007版本以上的,支持格式為xlsx,如果想要支持2003版本的xls,需要將XSSF換成HSSF的問題2:部分jar包沒有,需要導入,按照報錯內容導入jar包就好

總結

以上是生活随笔為你收集整理的selenium java po模式_selenium + java po模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕123区 | 国产午夜毛片 | 蜜臀一区二区三区精品免费视频 | 日本午夜电影 | 国产免费片 | 亚州春色 | 免费久久一级欧美特大黄 | 国产免费黄色小视频 | 中国a级大片 | 欧美aaa在线观看 | 福利色播| 中文字幕久久精品 | 九九热这里有精品 | 亚洲av无码专区国产乱码不卡 | 欧美三日本三级少妇三 | 天天搞天天搞 | 精品欧美一区二区三区免费观看 | 午夜久久久久久久久久 | 丰满放荡岳乱妇91ww | 特级西西444www大精品视频 | 欧美日韩国产精品一区二区三区 | 美女视频久久久 | 亚洲成人影音 | 日韩精品一区二区三区中文字幕 | 狠狠综合久久av一区二区 | 8x8ⅹ国产精品一区二区 | 污网站在线播放 | 国产精品自拍第一页 | 天天操好逼 | 国内自拍区| 91久久视频| 日韩成人av免费在线观看 | 久久国产乱子伦免费精品 | 久久大综合 | 久久久精品999 | 377p粉嫩大胆色噜噜噜 | 亚洲av无码乱码国产精品久久 | 国产精品丝袜在线观看 | 麻豆蜜桃wwww精品无码 | 视色视频| 欧美性在线视频 | 成年人免费在线观看网站 | 亚洲欧美一区二区三区情侣bbw | 天堂无乱码 | 国产乱了高清露脸对白 | 亚洲视频国产精品 | 日韩不卡视频在线观看 | 欧美大片免费看 | 在线一区 | www.玖玖玖 | 乱精品一区字幕二区 | 一本大道伊人av久久综合 | 亚洲欧美一 | 95视频在线| 久久偷看各类wc女厕嘘嘘偷窃 | 少妇人妻综合久久中文字幕 | 国产在线观看a | 少妇系列在线观看 | 久久久久少妇 | 美女狠狠干 | 天天做天天爱天天爽综合网 | 久久人妻少妇嫩草av蜜桃 | 波多野结衣二区三区 | 99re视频在线播放 | 蜜桃成人在线视频 | 中文字幕乱码视频 | feel性丰满白嫩嫩hd | 色花av| 国产精品女同 | 国产精品麻豆一区二区三区 | 欧美一区精品 | 91精品国产高潮对白 | 爱搞国产 | 成人一区二区三区在线 | 亚洲色图欧美激情 | 伊人影院久久 | 美女脱了内裤喂我喝尿视频 | 久久精品视频在线观看 | 黄色国产一级 | 97色在线 | 国产片在线播放 | www.日韩精品 | 国产乱人 | 日韩视频久久 | 少妇又色又紧又爽又刺激视频 | 色综合天天网 | 91精品国产综合久久精品图片 | 亚洲av无码国产精品久久久久 | 国产精品人妻 | 欧美成人精品三级网站 | 亚洲av永久一区二区三区蜜桃 | 在线看片一区二区 | 国产小视频在线 | 成人免费视频大全 | 丰满大乳少妇在线观看网站 | av少妇在线| 中文字幕岛国 | 五月婷婷狠狠 | 亚洲欧美一区二区精品久久久 |