概述:

本文详述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. Java 线程池原理分析

    1.简介 线程池可以简单看做是一组线程的集合,通过使用线程池,我们可以方便的复用线程,避免了频繁创建和销毁线程所带来的开销.在应用上,线程池可应用在后端相关服务中.比如 Web 服务器,数据库服务器等 ...

  2. JavaScript树(一) 简介

    树的相关术语 一个树结构包含一系列存在父子关系的节点. 每个节点都有一个父节点 (除了顶部的第一个节点)以及零个或多个子节点: 位于树顶部的节点叫作根节点(11) .它没有父节点.树中的每个元素都叫作 ...

  3. [LeetCode] Keyboard Row 键盘行

    Given a List of words, return the words that can be typed using letters of alphabet on only one row' ...

  4. 原生nodejs在线聊天系统

    前端自动化由来已久,最近为了编写自己的自动化工具,本人开始详细学习node,为了检验学习成果,决定编写一个类似于webqq的聊天系统.以下是该系统具有的模块. 登录模块(自动登录) 聊天模块(私聊,群 ...

  5. LOB对象在数据泵导出、导入后查询对象数量发现丢失

    问题描述:问题:源库的某个Schema使用数据泵Expdp元数据整体导出,在目标库导入且成功后,逻辑验证用户对象,发现缺失.分析查询后,缺失的对象,都是LOB类型(并不是所有的LOB都无法导入,是大部 ...

  6. [TJOI2017]可乐

    题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它每一秒都会随机 ...

  7. ●UVA 11021 tunnello

    题链: https://vjudge.net/problem/UVA-11021题解: 概率DP. 定义dp[i]表示初始1只麻球的情况下,第i天都死完的概率. (因为每只麻球互相独立,那么最后答案为 ...

  8. ●BZOJ 2618 [Cqoi2006]凸多边形

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2618 题解: 计算几何,半平面交. 给出一些凸包,求面积交. 把所有边都取出来,直接办平面交 ...

  9. USACO 2017 US Open

    只会做T1,FallDream T2 n^2暴力AC,太强啦. T1.Modern Art 题目大意:有一个n*n的矩阵,一开始都是0,你有n^2种颜色,编号1到n^2,每次可以选出一种颜色涂满一个子 ...

  10. poj 3348 Cow 凸包面积

    Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8122   Accepted: 3674 Description ...