概述:

本文详述8种控件对应的class,及可对其进行的操作

回顾:

回顾一下,下文中的工具设计思路部分:

http://blog.csdn.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);


Web自动化框架LazyUI使用手册(6)--8种控件对应的class,及可对其进行的操作的更多相关文章

  1. Web自动化框架LazyUI使用手册(4)--控件抓取工具Elements Extractor详解(批量抓取)

    概述 前面的一篇博文详细介绍了单个控件抓取的设计思路&逻辑以及使用方法,本文将详述批量控件抓取功能. 批量抓取:打开一个web页面,遍历页面上所有能被抓取的元素,获得每个元素的iframe.和 ...

  2. Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)

    概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面 ...

  3. Web自动化框架LazyUI使用手册(2)--先跑起来再说(第一个测试用例-百度搜索)

    作者:cryanimal QQ:164166060 上篇文章中,简要介绍了LazyUI框架,本文便来演示,如何从无到有快速搭建基于lazyUI的工程,并成功运行第一个测试用例. 本文以百度搜索为例,选 ...

  4. Web自动化框架LazyUI使用手册(1)--框架简介

    作者:cryanimal QQ:164166060 web端自动化简介 web端自动化,即通过自动化的方式,对Web页面施行一系列的仿鼠标键盘操作,以达到对Web页面的功能进行自动化测试的目的. 其一 ...

  5. Web自动化框架LazyUI使用手册(7)--浏览器常用操作API

      LazyUI框架中,BrowserEmulator类提供了大量的浏览器操作,常用的API列举如下: 1. 基本操作 /** * Open the URL * 打开一个URL * @param ur ...

  6. Web自动化框架LazyUI使用手册(5)--模板工程:LazyUI-template详解

    概述: LazyUI-template: 提供Maven管理的,基于Spring+Testng的,包含常用浏览器driver的,方便连接各种数据库的java模板工程,并提供以百度搜索为例的第一个测试用 ...

  7. Web自动化框架LazyUI使用手册(8)--excel数据驱动详解(ExcelDataProvider)

    概述 框架提供了excel数据驱动方式运行测试用例的工具,本文将针对数据驱动,进行详细演示. 详见类:lazy.test.ui.browser.ExcelDataProvider 被测对象: http ...

  8. Java+Selenium自动化对非输入框的日历或日期控件的处理

    如图:          1.问题描述: 在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这 ...

  9. APP自动化框架LazyAndroid使用手册(2)--元素自动抓取

    作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...

随机推荐

  1. C#之序列化对象(二进制方式序列化对象)

    应用程序有时需要以对象的形式在磁盘上存储数据,FrameWork有两个可用的实现方式: 一:System.Runtime.Serialization.Formatters.Binarry这个名称空间包 ...

  2. 探寻 webpack 插件机制

    webpack 可谓是让人欣喜又让人忧,功能强大但需要一定的学习成本.在探寻 webpack 插件机制前,首先需要了解一件有意思的事情,webpack 插件机制是整个 webpack 工具的骨架,而 ...

  3. 在脚本中使用source命令不生效

    问题描述    1. 一次写自动化安装脚本,要安装java,需要将JAVA_HOME写到/etc/profile中,然后使用source命令,但是发现profile文件中确实有JAVA_HOME,使用 ...

  4. [BZOJ 2654]tree(陈立杰)

    Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...

  5. Go学习——go+channel实战(转)

    转载:http://studygolang.com/articles/2423 背景 在最近开发的项目中,后端需要编写许多提供HTTP接口的API,另外技术选型相对宽松,因此选择Golang + Be ...

  6. 【模版 Floyd最小环】

    输入 输入中有多组数据.请用SeekEof判断是否到达文件结束. 对于每组数据: 第一行有两个正整数N,M,分别表示学校的景点个数和有多少对景点之间直接有边相连.(N< =100,M< = ...

  7. Linux上安装Libssh2

    由于项目需要使用libssh2,在安装时,遇到一些问题,发现网上的都是互相抄,把自己遇到的问题,记下来,希望可以帮助到别人,自己下次使用时候,也方便查找,节约时间. 安装的流程: 1.下载源码,wge ...

  8. UVA 3713 Astronauts

    The Bandulu Space Agency (BSA) has plans for the following three space missions: • Mission A: Landin ...

  9. C语言中#define的用法

    今天整理了一些#define的用法,与大家共享! 1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写 if(i& ...

  10. Python中的变量类型

    原文传送门:点击