五、RF中UI自动化操作基础
列表分类
1.打开浏览器
Open Browser url browser [ url | browser=firefox | alias=None | remote_url=False | desired_capabilities=None | ff_profile_dir=None ] |
2.窗口最大化
Maximize Browser Window |
2.1封装运行速度关键字
sleep ${secends} Set Selenium Speed ${secends} |
3.点击
#等待该元素出现 Wait Until Element Is Visible ${locator} #点击该元素 Click Element ${locator} #将点击封装成关键字 |
4.定位方式:
4.1xpath定位
定位返回按钮
a、绝对路径:xpath=/html/body/div[1]/div/div[3]/a
b、相对路径:xpath=//*[@id='login-box']/div[3]/a
c、布尔值写法:Xpath = //input[@id=’kw1’ and @name=’wd’]
点击 xpath=//*[@id='login-box']/div[3]/a |
4.2 id and name
id=xxx name=xxx |
4.3 css定位
5.关闭浏览器并杀掉进程
点击 xpath=/html/body/div[1]/ul[2]/li[2]/span/a 其中 Csj_Kill_Chrome_Driver为自定义的第三方包(第三方包放在python/lib/site-packages/) os.system("系统命令"):执行系统命令 1.查看指定端口的占用情况:netstat -aon|findstr "8080" 可查看进程pid 2 .直接强制杀死指定端口:taskkill /pid 4136 -t -f(taskkill 是命令行命令 /f是强制终止 /im image name的缩写 /t 结束进程树) 3.查看pid对应的进程:tasklist|findstr "端口号" 然后 taskkill /f /t /im 进程名 |
6.取url
${test} get location |
7.封装清空关键字
清空 |
8.获取value的值
${t1} get text xpath=/html/body/div[1]/form/div[1]/select |
8.1封装get text
![]() |
9.select控件操作
select from list: Arguments:[ locator | *items ]--两个参数,一个是select元素的定位路径,一个是*items; 1.*items是非必填参数,当*items不填时,这个关键字会选择下拉列表最后一个值; 2.需要选择值Select From List只支持value或者lable取值,不支持index,优先级为先按value选值,然后再按lable选值 |
select from list by index:
Arguments:[ locator | *indexes ]
两个参数:一个是select元素的定位路径,一个是下拉选项的下标,从0开始,0表示选择第一个值
|
select from list by value:
Arguments:[ locator | *values]
两个参数:一个是select元素的定位路径,一个是下拉选项的标签value值
|
select from list by lable: Arguments:[ locator | *lables]
两个参数:一个是select元素的定位路径,一个是下拉选项的text值,注意是text值,不是标签的value值
|
9.1 封装下拉框操作函数
![]() |
10 赋值比较
${text} set variable if ${t1}==666 True False 如果相等返回true,否则返回false |
11.Run Keyword If ${a}==${b} log ${提示信息}
... ELIF ${c}==${d} run element click element xpath=xxx
... ELSE log 操作错误
12.运行关键字 Run Keyword
run keyword 后可直接运行系统关键字和用户关键字
13.运行关键字并返回状态:如果这个元素可见则返回true,否则返回false
${a} run keyword and return status element should be visible xpath=/html/body/div[1]/form/div[3]/select[2] |
14.上传文件
choose file Arguments:[ locator | file_path ] 定位,本地路径 |
15.选择切换iframe
select frame Arguments:[llocator] |
16.获取属性的值
${text} get element attribute xpath=xxx@属性名 |
17.页面应该包含
page should contain ${text} |
五、RF中UI自动化操作基础的更多相关文章
- .NET中的IO操作基础介绍
关于IO简介 .NET中的IO操作,经常需要调用一下几个类. clipboard[] .FileStream类 文件流类,负责大文件的拷贝,读写. .Path类 Path类中方法,基本都是对字符串(文 ...
- Selenium系列(十五) - Web UI 自动化基础实战(2)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- Robot Framework:RF中对时间操作的datetime库常用关键字
[转自:http://blog.csdn.net/r455678/article/details/52993765] 1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3 ...
- 【转】 robotframework(rf)中对时间操作的datetime库常用关键字
转自http://blog.csdn.net/r455678/article/details/52993765 DateTime库是robotframework内置的库 1.对固定日期进行操作,增加或 ...
- robotframework(rf)中对时间操作的datetime库常用关键字
1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3.对时间格式转化,获取时间戳. 4.从完整时间中取指定年月日等 5.对时间类型进行格式化 6.获取当前时间或者指定时区 ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作
http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...
- AutoIt 软件自动化操作
AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作. 它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现 ...
- {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...
随机推荐
- mybatis捕获sql工具
今天给大家分享一款好用的软件 https://ssrss.space/register?aff=982689 日志级别必须是debug
- ARM工作模式寻址
用户模式(User) usr 快速中断模式(FIQ) fiq 普通终端模式(IRQ) irq 保护模式(Supervisor) svc 数据访问终止模式(Abo ...
- Linux磁盘分区与lvm逻辑卷
硬盘接口的种类分四类:(价格由低到高) IDE SATA硬盘:别名串口硬盘,具有较强的纠错能力. SCSI硬盘:即采用SCSI接口的硬盘,SCSI接口具有应用范围广,多任务,带宽大,CPU占用率低. ...
- C#使用反射机制获取类信息
1.用反射动态创建类实例,并调用其公有成员函数. //新建一个类库项目,增加一个GetSum方法. using System; namespace ClassLibrary1 { publi ...
- 用python实现简单的计算器(加减乘除小括号等)
需求:实现能计算类似 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) ...
- SpringMVC与Json数据交互
简单回顾了一下SpringMVC和前端JSON数据是怎么交互的 接下来详细说一下过程 前端代码写的很简单 主要是为了试验一下JSON数据的前后台传递 前端代码给大家发出来 其实真的很简单 前端接受了 ...
- solairs11与solairs10 ftp服务的区别
Migration from Solaris WU-FTPD to ProFTPD Introduction ------------ This document provides an overvi ...
- python修炼之路---面向对象
面向对象编程 面向对象编程:使用类和对象实现一类功能. 类与对象 类:类就是一个模板,模板里可以包含多个函数,函数里实现一些功能. 对象:是根据模板创建的实例,通过实例对象可以执行类中的函数. 面向对 ...
- CodeForces-916B-Jamie and Binary Sequence(changed after round)(构造)
链接: https://vjudge.net/problem/CodeForces-916B 题意: Jamie is preparing a Codeforces round. He has got ...
- DevOps之持续集成SonarQube代码质量扫描
一.SonarQube介绍 SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查 ...