Pageobject思路改造小项目

思路:
1.三个文件
a-元素的定位和操作,已经跳转到 resultpage
b-result>元素的检查
public void checkKeyword(){ //Assert是TestNG提供的一个断言操作,assertEquals(实际值,期望值),判断两个值是不是相等的。
Assert.assertEquals(RP_INPT_KEYWORD.getAttribute("value"), "selenium");

c-测试文件
hsp.openUrl(); //使用页面封装的输入操作,验证搜索结果输入框页面的值是不是selenium
hsp.searchByKeyword("selenium").checkKeyword();//使用页面封装的退出操作
hsp.close();

findby的常用方法,可以详见扩展目录 http://blog.csdn.net/u013840366/article/details/68944845
public void A_AddAllEvent() throws InterruptedException {
//实例化BDPage对象
//ListPage page = PageFactory.initElements(driver, ListPage.class);
ListPage bdp = new ListPage(driver);
//bdp调用添加event元素,然后单击click
SwitchTo.getWindowHandle(driver);
logger.info("Go to this new event action");
Thread.sleep(5000);
bdp.AddEvent_Link.click();
Thread.sleep(4000);
//bdp调用添加event title,输入内容
SwitchTo.getWindowHandle(driver);
bdp.Event_Input.sendKeys("All-Day Event");
//bdp调用勾选all day event,输入内容,
bdp.AllDay_Input.click();
//bdp调用添加notes,输入内容
bdp.Notes_TextArea.sendKeys("Calendar Note");
//bdp调用添加location,输入内容
bdp.location_TextArea.sendKeys("Calendar Location");
bdp.Save_Input.click();
bdp.Tips_Div.getText();
}

具体的一个小实例如下:
list page
public class ListPage {
/ / Personal Calenar页面添加event按钮
@FindBy(xpath = ".//*[@id='ccTgArea']/div[9]/div[1]/a[1]")
@CacheLookup
public WebElement AddEvent_Link;
// Event详情页面,event subject
@FindBy(name = "title")
@CacheLookup
public WebElement Event_Input;
// Event详情页面,event all day event
@FindBy(id = "eteevent")
@CacheLookup
public
WebElement AllDay_Input;
// Event详情页面,event all day event
@FindBy(id = "notes")
@CacheLookup
public
WebElement Notes_TextArea;
// Event详情页面,event all day event
@FindBy(id = "location")
@CacheLookup
public
WebElement location_TextArea;


// Event详情页面,event all day event
@FindBy(linkText = "Save")
@CacheLookup
public
WebElement Save_Input;
// Event创建后,页面定位提示信息
@FindBy(xpath = "html/body/div[1]/div/div[2]")
@CacheLookup
public
WebElement Tips_Div;
public ListPage(WebDriver driver) {
PageFactory.initElements(driver, this);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Page Object 是一个测试设计模式,用于在测试自动化中管理网页的对象和操作。它将网页的不同部分抽象为对象,并提供一系列方法来操作这些对象。 Page Object 的主要目的是将测试逻辑与页面实现分离,使得测试代码更加清晰、可维护。通过将页面的对象封装Page Object,测试代码可以直接调用这些对象的方法来执行相应的操作,而不需要关心页面的具体实现细节。 Page Object 通常包含以下几个组成部分: 1. 元素定位:Page Object 包含了页面上各个元素的定位信息,例如 ID、class、XPath 等等。这些定位信息可以用来查找页面上的元素。 2. 元素操作:Page Object 提供了一系列方法来对页面上的元素进行操作,例如点击按钮、输入文本等等。这些方法可以直接被测试代码调用。 3. 页面跳转:Page Object 可以定义一些方法来执行页面之间的跳转操作,例如点击链接、提交表单等等。这样可以方便地在测试中模拟用户的操作流程。 通过使用 Page Object,测试代码可以更加简洁、可读,并且易于维护。同时,Page Object 还可以提高测试的稳定性和可靠性,因为一旦页面发生变化,只需要修改 Page Object 中的定位信息,而不需要修改大量的测试代码。 总结起来,Page Object 是一个测试设计模式,用于管理网页的对象和操作。它将页面的不同部分抽象为对象,并提供一系列方法来操作这些对象,从而实现测试代码的清晰、可维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值