概述:

本文详述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. postgresql 定时任务备份及恢复

    编写 脚本文件 如bak.sh,内容如下: ls_date=`date "+%Y%m%d%H%M%S"` pg_dump -U postgres -Ft yourdbname &g ...

  2. Jenkins + Gradle + pgyer + Android自动发布

    Jenkins配置与必要的环境配置 一:Jenkins服务端(Linux系统为例说明): 1.jdk安装与配置 2.SDK安装与配置 3.安装配置对应的gradle版本(建议gradle版本在4.1版 ...

  3. Kylin系列之二:原理介绍

    Kylin系列之二:原理介绍 2018年4月15日 15:52 因何而生 Kylin和hive的区别 1. hive主要是离线分析平台,适用于已经有成熟的报表体系,每天只要定时运行即可. 2. Kyl ...

  4. 小白学习java设计模式之策略模式

    策略模式:1.分析项目中的变化部分与不变部分(每个设计模式都要分析的)2.多用组合少用继承;用行为类组合,而不是行为继承,更具有弹性直接上代码: package com.wz.oneStrategis ...

  5. WKWebView和WebView与JS的交互方式

    UIWebView与JS的交互方式 一,OC调用JS直接调用苹果提供的API - (nullable NSString *)stringByEvaluatingJavaScriptFromString ...

  6. [ZJOI 2014]力

    Description 给出n个数qi,给出Fj的定义如下: $$F_j = \sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{i>j}\frac{q_i ...

  7. [Luogu 1284]三角形牧场

    Description 和所有人一样,奶牛喜欢变化.它们正在设想新造型的牧场.奶牛建筑师Hei想建造围有漂亮白色栅栏的三角形牧场.她拥有N(3≤N≤40)块木板,每块的长度Li(1≤Li≤40)都是整 ...

  8. Codeforces Round #460 D. Karen and Cards

    Description Karen just got home from the supermarket, and is getting ready to go to sleep. After tak ...

  9. 【USACO】电子游戏 有条件的背包

    题目描述 翰的奶牛玩游戏成瘾!本来约翰是想把她们拖去电击治疗的,但是他发现奶牛们在玩游戏后生产 了更多的牛奶,也就支持它们了. 但是,奶牛在选择游戏平台上的分歧很大:有些奶牛想买 Xbox 360 来 ...

  10. java中如何在代码中判断时间是否过了10秒

    long previous = 0L; ... { Calendar c = Calendar.getInstance(); long now = c.getTimeInMillis(); //获取当 ...