public abstract class AbstractWebBrower extends AbstractBrower
文件名:AbstractBrower.java
用途:该类定义启动浏览器时必要的方法,开启浏览器的方法由子类继承编写
编码时间:2020年4月17日下午8:51:53
修改时间:2021年4月2日上午8:28:30
Modifier and Type | Field and Description |
---|---|
protected File |
driverFile
用于接收浏览器启动所需的文件路径
|
protected Page |
nowPage
用于存储WebDriver当前指向的页面信息
|
protected HashMap<String,Page> |
pageMap
存储打开的页面
|
protected HashSet<String> |
windowHandleSet
存储浏览器打开的窗口handle值
|
driver, informationJson
Modifier | Constructor and Description |
---|---|
|
AbstractWebBrower(File driverFile)
指定驱动文件所在路径
|
|
AbstractWebBrower(File driverFile,
Page page)
指定驱动文件路径并添加一个待测站点
|
|
AbstractWebBrower(File driverFile,
String url,
String pageName)
指定驱动文件路径并添加一个待测站点
|
protected |
AbstractWebBrower(Page page)
无参构造,方便子类扩展其他构造方法
|
Modifier and Type | Method and Description |
---|---|
String |
alertAccept()
定位到弹框上并且点击确定按钮,并返回弹框上的文本
|
String |
alertDimiss()
定位到弹框上并且点击取消按钮,并返回弹框上的文本
|
String |
alertGetText()
获取弹框上的文本
|
String |
alertInput(String content)
定位到弹框上并且在其文本框中输入信息
|
void |
closeBrower()
用于关闭浏览器
|
void |
closeLabel()
用于关闭当前标签,若只存在一个标签时,关闭标签页后将生成一个空白页
|
String |
getAllInformation()
用于以json字符串的形式返回浏览器的信息
|
protected abstract String |
getBrowerDriverSetName()
用于返回浏览器驱动设置的名称,由于每个浏览器不同,导致启动驱动名称也不同
|
org.openqa.selenium.WebDriver |
getDriver()
用于启动浏览器,并返回WebDriver对象
|
Page |
getNowPage()
用于返回当前指向的窗体打开的页面
Page 对象 |
List<Page> |
getOpenPage()
用于返回当前在浏览器中被打开的页面
|
boolean |
hasPopuWindow()
用于判断当前浏览器中是否存在弹窗(未被存储的浏览器标签)。注意,若在 浏览器上自行打开的标签,其也会被计算为弹窗
|
void |
initialization()
用于重启浏览器,若未生成WebDriver对象时(即未调用
getDriver() 方法时),则方法调用无效 |
void |
maxWindow()
用于将浏览器全屏显示
|
void |
openUrl(Page newPage,
boolean openNewLabel)
该方法用于打开新的站点,根据传入的openNewLabel参数,则以以下方式进入站点:
openNewLabel为true,则重新打开一个标签页,在新的标签页中打开站点
openNewLabel为false,则在当前的标签页中打开站点
注意:
若未生成WebDriver对象时(即未调用
getDriver() 方法时),则抛出异常
若生成WebDriver对象但未设置默认页面时(即调用了AbstractWebBrower(File) 单参构造来构造对象),
则在调用该方法时,无论openNewLabel传入是何值,均不影响在第一个标签中打开页面
执行该方法后,其WebDriver对象将切换至新的标签页上
|
void |
openUrl(String url,
String pageName,
boolean openNewLabel)
该方法用于打开新的站点,通过该方法将生成一个Page对象,存在类中,并根据传入的openNewLabel参数,则以以下方式进入站点:
openNewLabel为true,则重新打开一个标签页,在新的标签页中打开站点
openNewLabel为false,则在当前的标签页中打开站点
注意:
若未生成WebDriver对象时(即未调用
getDriver() 方法时),则抛出异常
若生成WebDriver对象但未设置默认页面时(即调用了AbstractWebBrower(File) 单参构造来构造对象),
则在调用该方法时,无论openNewLabel传入是何值,均不影响在第一个标签中打开页面
执行该方法后,其WebDriver对象将切换至新的标签页上
|
void |
refreshPage()
用于刷新当前页面,若未生成WebDriver对象时(即未调用
getDriver() 方法时),则方法调用无效 |
void |
switchNowPage()
用于切换到当前页面
|
boolean |
switchPopuWindow()
用于切换到弹窗上,当浏览器存在多个弹窗时,该方法无法保证能切换至理想的窗口,
但调用该方法后,其弹窗会作为
Page 类对象进行存储,其页面名称为当前窗口的
handle值,若切换的窗口非理想的窗口,则可以多次调用该方法,直至切换至理想的窗口
为止。若当前不存在弹窗,则返回false,若切换弹窗成功,则返回true |
void |
switchWindow(Page page)
用于根据页面切换页面
|
void |
switchWindow(String pageName)
用于根据页面名称切换页面
|
getLogRecord, openBrower
protected File driverFile
protected Page nowPage
protected AbstractWebBrower(Page page)
public AbstractWebBrower(File driverFile)
driverFile
- 驱动文件对象public AbstractWebBrower(File driverFile, String url, String pageName)
driverFile
- 驱动文件对象url
- 待测站点pageName
- 待测站点名称,用于切换页面public void openUrl(String url, String pageName, boolean openNewLabel)
getDriver()
方法时),则抛出异常AbstractWebBrower(File)
单参构造来构造对象),
则在调用该方法时,无论openNewLabel传入是何值,均不影响在第一个标签中打开页面url
- 站点域名pageName
- 页面名称openNewLabel
- 是否在新标签中打开页面IncorrectPageException
- 当浏览器未打开或者页面加载错误时抛出的异常public void openUrl(Page newPage, boolean openNewLabel)
getDriver()
方法时),则抛出异常AbstractWebBrower(File)
单参构造来构造对象),
则在调用该方法时,无论openNewLabel传入是何值,均不影响在第一个标签中打开页面newPage
- Page类对象openNewLabel
- 是否在新标签中打开页面IncorrectPageException
- 当浏览器未打开或者页面加载错误时抛出的异常public org.openqa.selenium.WebDriver getDriver()
AbstractBrower
getDriver
in class AbstractBrower
protected abstract String getBrowerDriverSetName()
public String getAllInformation()
AbstractBrower
getAllInformation
in class AbstractBrower
public void initialization()
getDriver()
方法时),则方法调用无效public void refreshPage()
getDriver()
方法时),则方法调用无效public void maxWindow()
public void closeLabel()
public void closeBrower()
AbstractBrower
closeBrower
in class AbstractBrower
public void switchWindow(String pageName)
pageName
- 页面名称public void switchWindow(Page page)
page
- 页面对象public void switchNowPage()
public boolean switchPopuWindow()
Page
类对象进行存储,其页面名称为当前窗口的
handle值,若切换的窗口非理想的窗口,则可以多次调用该方法,直至切换至理想的窗口
为止。若当前不存在弹窗,则返回false,若切换弹窗成功,则返回truepublic boolean hasPopuWindow()
public String alertAccept()
public String alertDimiss()
public String alertInput(String content)
content
- 需要输入的信息public String alertGetText()
Copyright © 2024. All rights reserved.