public class FindSelectElement extends FindMultiElement<FindSelectElement>
文件名:SelectBy.java
用途: 提供在辅助化测试中,通过一个元素定位方式,获取下拉选项型元素(控件)的方法。通过元素的定位方式,自动 识别下拉选项元素的类型(标准下拉选项1与非标准下拉选项2),并根据其类型获取到下拉 选项的元素。
注解:
<select name='select'> <option>男</option> <option>女</option> </select>
<div name='select'> <div name='option'>男</div> <div name='option'>女</div> </div>
注意:若下拉选项为标准下拉选项,其元素定位方式只需要定位到select标签即可,若为非标准下拉选项,则需要
将元素定位到能获取到所有下拉选项的元素上,以上述html代码为例,使用xpath对以上两个控件定位,则分别为:
编码时间:2020年11月11日上午8:12:58
修改时间:2020年11月11日上午8:12:58
Modifier and Type | Field and Description |
---|---|
static String |
SELECT_TAGNAME
定义标准下拉选项的tagname
|
firstEmpty
action, brower, elementData, elementList, isAutoSwitchIframe, read
Constructor and Description |
---|
FindSelectElement(AbstractBrower brower)
构造方法,初始化浏览器对象
|
Modifier and Type | Method and Description |
---|---|
FindSelectElement |
find(String elementName,
String... linkKeys)
用于指定查找的元素集合名称,二次查找元素时,将覆盖上一次查找的元素。调用该方法在
无法查到页面元素时,其不会抛出
TimeoutException 异常 |
Element |
getElement(String selectText)
用于获取元素集合中指定内容的元素。其元素内容可以调用
setReadArributeName(String) 方法进行设置。
若元素所传的元素内容不在当前元素内容集合中时,该方法将不会抛出异常,但当调用
Element.getWebElement() 方法时,则会抛出元素不存在异常 |
boolean |
removeElement(int index)
用于移除元素集合中的指定下标的元素。其下标所传入的数字即为元素所在的真实下标,可参见
FindMultiElement.getElement(int) 方法的参数说明。若未调用FindMultiElement.find(String, String...)
方法对元素进行查找,或者查无元素时,调用该方法将不进行任何操作 |
boolean |
removeElement(String selectText)
用于根据选项内容移除元素
|
void |
setReadArributeName(String attributeName)
用于设置获取文本时读取的属性名称,即在调用
getElement(String) 方法时,其元素内容的来源。 |
getAllElement, getElement, setFirstIsEmpty, size
autoSwitchContext, autoSwitchFrame, clearAction, findElement, getBy, getElementData, recognitionElement, setAction, setAutoSwitchIframe, setReadMode, setWaitTime, switchAppNativeContext, switchFrame, switchParentFrame, switchRootFrame, switchWebViewContext, toElementIndex
public static final String SELECT_TAGNAME
public FindSelectElement(AbstractBrower brower)
brower
- AbstractBrower
类对象public void setReadArributeName(String attributeName)
用于设置获取文本时读取的属性名称,即在调用getElement(String)
方法时,其元素内容的来源。
该方法存在设置一个特殊的属性值“text”(默认),表示获取元素的文本节点内容,其他的值均为 设置读取的属性值,建议设置的属性值的内容不存在重复,否则获取到的元素可能与预期不符。
注意:调用该方法时将自动获取一次元素内容,若未调用find(String, String...)
方法查找
元素或查找的元素不存在时,调用该方法仅设置属性值。设置的属性名称不区分大小写
attributeName
- 属性名称public FindSelectElement find(String elementName, String... linkKeys)
FindMultiElement
TimeoutException
异常find
in class FindMultiElement<FindSelectElement>
elementName
- 元素名称linkKeys
- 外链词语public Element getElement(String selectText)
setReadArributeName(String)
方法进行设置。
若元素所传的元素内容不在当前元素内容集合中时,该方法将不会抛出异常,但当调用
Element.getWebElement()
方法时,则会抛出元素不存在异常selectText
- 元素的内容public boolean removeElement(int index)
FindMultiElement
FindMultiElement.getElement(int)
方法的参数说明。若未调用FindMultiElement.find(String, String...)
方法对元素进行查找,或者查无元素时,调用该方法将不进行任何操作removeElement
in class FindMultiElement<FindSelectElement>
index
- 元素下标public boolean removeElement(String selectText)
selectText
- 下拉选项内容Copyright © 2024. All rights reserved.