概述:
本文详述8种控件对应的class,及可对其进行的操作
回顾:
回顾一下,下文中的工具设计思路部分:
http://blog.****.net/kaka1121/article/details/51878346
详解:
如上图所示,8种控件对应的class,及可对其进行的操作已经罗列上去了,下面附上具体的API
1. 输入控件:Text
/** * 进入iframe,找到控件 * 找到文本框或文本区域,先清除内容,再填写内容 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void input(String value); /** * 进入iframe,找到控件 * 找到文本框或文本区域,清除内容 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void clear(); /** * 进入iframe,找到控件 * 返回文本控件的value(getAttribute("value")) * 包含重试和超时机制 */ public String getText(); /** * 进入iframe,找到控件 * 点击控件 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void click();
2. 点击控件: Click
/** * 进入iframe,找到控件 * 点击控件 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void click();
3. 下拉控件: Select
/** * 进入iframe,找到控件 * 找到下拉菜单,并根据展示的文字(VisibleText),选中该选项 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void selectByVisibleText(String option); /** * 进入iframe,找到控件 * 找到下拉菜单,并根据展示的文字(VisibleText),选择除该选项之外的所有选项 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void deselectByVisibleText(String option); /** * 进入iframe,找到控件 * 找到下拉菜单,并根序号,选中该选项 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void selectByIndex(int index); /** * 进入iframe,找到控件 * 找到下拉菜单,并根序号,选择除该选项之外的所有选项 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void deselectByIndex(int index); /** * 进入iframe,找到控件 * 找到下拉菜单,并根据值(value),选中该选项 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void selectByValue(String value); /** * 进入iframe,找到控件 * 找到下拉菜单,并根据值(value),选择除该选项之外的所有选项 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void deselectByValue(String value); /** * 进入iframe,找到控件 * 获取下拉菜单的所有可选项 * 包含重试和超时机制 * 返回MAP: * "value", webElement.getAttribute("value") * "text", webElement.getText() */ public List<Map<String, String>> getAllOptions(); /** * 进入iframe,找到控件 * 获取下拉菜单的所有已选择的选项 * 包含重试和超时机制 * 返回MAP: * "value", webElement.getAttribute("value") * "text", webElement.getText() */ public List<Map<String, String>> getAllSelectedOptions(); /** * 进入iframe,找到控件 * 清除下拉菜单为初始状态 * 如果是多选的,则全部不选 * 如果是单选的,则选中序号为0的 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void clear();
4. 点选控件: Check
/** * 进入iframe,找到控件 * 勾选控件(radio, checkbox),勾选失败则抛异常 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void check(); /** * 进入iframe,找到控件 * 取消勾选控件(radio, checkbox),勾选失败则抛异常 * 包含重试和超时机制 * 支持设置预先等待时间,以方便肉眼能跟上(通过设置pause变量) */ public void unCheck() ; /** * 进入iframe,找到控件 * 查看是否勾选控件(radio, checkbox) * 包含重试和超时机制 */ public boolean isChecked();
5. 表格控件: Table
/** * 进入iframe,找到控件 * 得到table中所有单元格的文本值 * 可设置等待时间,以便table完全加载完成 * @param xpath 用于得到table对象 * @return 单元格中的文本值列表 */ public List<List<String>> getTableContents(int waitTime); /** * 进入iframe,找到控件 * 得到table中所有单元格的文本值 * @param xpath 用于得到table对象 * @return 单元格中的文本值列表 */ public List<List<String>> getTableContents(); /** * 进入iframe,找到控件 * 从table中指定的的单元格中得到文本值, 行列从1开始. * 可设置等待时间,以便table完全加载完成 * @param row,col 为了使用者便于 * @return 单元格中的文本值 */ public String getTableCellText(int row, int col, int waitTime); /** * 进入iframe,找到控件 * 从table中指定的的单元格中得到文本值, 行列从1开始. * @param row,col 为了使用者便于 * @return 单元格中的文本值 */ public String getTableCellText(int row, int col); /** * 进入iframe,找到控件 * 得到table的大小、行数、列数 * 可设置等待时间,以便table完全加载完成 * @param xpath 用于得到table对象 * @return 行数、列数 */ public TableSize getTableSize(int waitTime); /** * 进入iframe,找到控件 * 得到table的大小、行数、列数 * @param xpath 用于得到table对象 * @return 行数、列数 */ public TableSize getTableSize();
6. 日历控件: Calendar
/** * 进入iframe,找到控件 * 先清除日期,再填写日期 * 若日期格式不正确,抛异常 * 包含重试和超时机制 */ public void input(String value); /** * 进入iframe,找到控件 * 清除日期 * 若日期格式不正确,抛异常 * 包含重试和超时机制 */ public void clear(); /** * 进入iframe,找到控件 * 返回控件的value(getAttribute("value")) * 包含重试和超时机制 */ public String getText();
7. 文本控件: PlainText
/**
* 进入iframe,找到控件
* 文本或文本列表,是否都存在于当前页面,只要有一个不存在,则返回false
* 包含重试和超时机制
* 不支持设置预先等待时间(通过设置pause变量)
*
*/
public boolean isExists();
8. 上传控件: FileInput
/** * 进入iframe,找到控件 * 根据本地路径,上传文件 * 注意filePath必须是绝对路径 */ public void uploadFile(String filePath);