robotframework文本类型的下拉框
对于下拉框定位和输入,这里主要遇到有两种类型的下拉选择。
其中一个类型是select-options格式,如图

这种方式的定位可以使用select from list by value或select from list by list或select from list等格式进行选择定位,具体可以参考随机下拉框定位选择。
而这里主要说的就是这种文本框类型的下拉选择,格式如图所示

此种文本框类型的下拉选择操作方法:
- 鼠标定位到设备此文本类型下拉框中
- 文本框中输入设备的首字母这里以0为例,
- 输入字母后会显示下拉选择框,此时可以用鼠标或键盘选择一个设备号信息,这里以选择第一个为例
说明
操作中第二步在手动测试中是可以省略的,这里为了自动化的方便特意加上的
通过上面的操作说明,我们可以使用键盘或鼠标来操作此用例,这里主要是用鼠标操作实例说明。
第一步:定位输入文本框
使用firepath来定位文本框,这里使用的是id定位方法,代码如下
input text device ${EIR}
这里直接将1、2合并,定位并输入文本框中
第二步:鼠标左键点击下拉选项
这里使用的是mouse down来进行操作的
代码如下
Selenium2Library.mouse down xpath = html/body/div[1]/div/div[2]/form/div[5]/div[1]/div/ul/li[1]
说明
mouse down主要是鼠标左键定位到locator上且不放,所以这里需要增加释放鼠标左键的操作
第三步:释放鼠标左键
释放鼠标左键主要是mouse up进行操作的,代码如下
Selenium2Library.mouse up xpath = html/body/div[1]/div/div[2]/form/div[5]/div[1]/div/ul/li[1]
这样下来,针对文本类型的下拉选项使用鼠标操作就实现了,整理后的封装的关键字代码如下
床位关联的设备号
[Arguments] ${EIR}
clear element text device
input text device ${EIR}
sleep 10
Selenium2Library.mouse down xpath = html/body/div[1]/div/div[2]/form/div[5]/div[1]/div/ul/li[1]
Selenium2Library.mouse up xpath = html/body/div[1]/div/div[2]/form/div[5]/div[1]/div/ul/li[1]
sleep 3
如图

说明
${EIR}是本地定义的一个变量0
这样我们在用例修改的时候,可以直接使用该关键字进行操作了。
如图,展示了用例中文本类型的下拉框的定位和选择

而用例运行结果如图所示

这里主要使用的鼠标的mouse down和mouse up操作来进行下拉选择定位的,而实际上还有其他鼠标的操作方法,如果感兴趣可以找项目实战操作,这里下次遇到再说吧,mouse关键字图示

前面说明,这里也可以使用键盘进行文本下拉框的定位和选择的,但是此项目中,使用键盘操作的时候,向下回车显示的结果是文本框中输入的历史记录,所以使用键盘是不适用的。
不过还是说明一下,robotframework中键盘的ascii,
https://github.com/SeleniumHQ/selenium/blob/master/java/client/src/org/openqa/selenium/Keys.java
而这里如果项目适用,可以参考博客:http://blog.csdn.net/u011757108/article/details/62428484
到这里,文本类型下拉选择框就完成了...
robotframework文本类型的下拉框的更多相关文章
- robotframework自动化系列:文本类型的下拉框
对于下拉框定位和输入,这里主要遇到有两种类型的下拉选择. 其中一个类型是select-options格式,如图 这种方式的定位可以使用select from list by value或select ...
- Python+selenium之获取文本值和下拉框选择数据
Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_ ...
- 商品类型的下拉框绑定一个事件,通过ajax获取属性
html代码这么写 <!-- 商品属性 --> <table cellspacing="1" cellpadding="3" width=&q ...
- html之多行文本textarea 及下拉框select(12)
1.多行文本 多行文本使用textarea标签,默认值需要写在中间,和input标签不同,name属性用于后台获取数据(request.POST.get(meno)) <body> < ...
- EasyUI下拉框级联
EasyUI用来实现后台界面还是可以的,毕竟面对的是小众群体而非广大的用户,简单为美.这里想聊的功能是一种下拉框的联动,比如我选中了下拉框A的某一项,那么下拉框B的选项就是甲乙丙丁,如果我选了A的另一 ...
- MVC controller序列化下拉框给view
在开发中遇到的小问题,一个下拉框,一个文本域 ,文本域根据下拉框变化: 由于是一次全部取出的值,下拉框变化不想再去取值: 在后台把值先序列化给前台用 controller: List<Lesso ...
- 通过jquery来实现文本框和下拉框动态添加效果,能根据自己的需求来自定义最多允许添加数量,实用的jquery动态添加文本框特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- robotframework自动化系列:随机下拉框
robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没 ...
- Selenium常用API用法示例集----下拉框、文本域及富文本框、弹窗、JS、frame、文件上传和下载
元素识别方法.一组元素定位.鼠标操作.多窗口处理.下拉框.文本域及富文本框.弹窗.JS.frame.文件上传和下载 元素识别方法: driver.find_element_by_id() driver ...
随机推荐
- JS难点--组件开发
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 } span.Apple-tab-span ...
- OOAD-设计模式(四)结构型模式之适配器、装饰器、代理模式
前言 前面我们学习了创建型设计模式,其中有5中,个人感觉比较重要的是工厂方法模式.单例模式.原型模式.接下来我将分享的是结构型模式! 一.适配器模式 1.1.适配器模式概述 适配器模式(Adapter ...
- 浅析Java源码之LinkedList
可以骂人吗???辛辛苦苦写了2个多小时搞到凌晨2点,点击保存草稿退回到了登录页面???登录成功草稿没了???喵喵喵???智障!!气! 很厉害,隔了30分钟,我的登录又失效了,草稿再次回滚,不客气了,* ...
- 搭建yeoman自动化构建工具
yeoman可以快速的搭建一个项目的手脚架,初次接触yeoman,在搭建的过程中遇到了很多的问题. yeoman需要node.js(http://nodejs.org)和git(http://git- ...
- git常用命令集合
git命令 git init:创建一个仓库并在目录下新建一个.git的文件(初始化一个git仓库) 注:.git文件在工作区,是一个隐藏文件(用ls -ah命令查看),但是它不算工作区,而是git 的 ...
- where id in用 order by field 保持排序
转载自http://blog.linuxphp.org/archives/1588/ 先看下mysql的默认排序 select id from article where id in(63261,63 ...
- 关于Makefile,Makefile.in,Makefile.am,Configure功能及相互关系的问题
makefile写法 在 Unix 上写程式的人大概都碰过 Makefile,尤其是用 C 来开发程式的人.用 make来开发和编译程式的确很方便,可是要写出一个 Makefile就不简单了.偏偏介绍 ...
- Oracle-3 - :超级适合初学者的入门级笔记--用户权限,set运算符,高级子查询
上一篇的内容在这里第二篇内容, 用户权限:创建用户,创建角色,使用grant 和 revoke 语句赋予和回收权限,创建数据库联接 创建用户:create user xxx identified b ...
- [java基础] java中的自动装箱与自动拆箱
自动装箱的一个例子: Integer i = 1; //实际上是执行了Integer i = Integer.valueOf(1) 自动拆箱的一个例子: Integer a =1; int b = a ...
- 基于python3.x,使用Tornado中的torndb模块操作数据库
目前Tornado中的torndb模块是不支持python3.x,所以需要修改部分torndb源码即可正常使用 1.开发环境介绍 操作系统:win8(64位),python版本:python3.6(3 ...
