列表分类

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
点击 xpath=/html/body/div[1]/div/ul/li[1]/a
close browser
#杀掉谷歌进程
Csj Kill Chrome Driver

其中 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
 log           ${test}

7.封装清空关键字

清空
[Arguments] ${locator}
运行速度 0
Wait Until Element Is Visible ${locator}
Clear Element Text ${locator}
运行速度 ${waittime}

8.获取value的值

${t1} get text xpath=/html/body/div[1]/form/div[1]/select
log ${t1}

 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]
log       ${a}

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自动化操作基础的更多相关文章

  1. .NET中的IO操作基础介绍

    关于IO简介 .NET中的IO操作,经常需要调用一下几个类. clipboard[] .FileStream类 文件流类,负责大文件的拷贝,读写. .Path类 Path类中方法,基本都是对字符串(文 ...

  2. Selenium系列(十五) - Web UI 自动化基础实战(2)

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  3. Robot Framework:RF中对时间操作的datetime库常用关键字

    [转自:http://blog.csdn.net/r455678/article/details/52993765] 1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3 ...

  4. 【转】 robotframework(rf)中对时间操作的datetime库常用关键字

    转自http://blog.csdn.net/r455678/article/details/52993765 DateTime库是robotframework内置的库 1.对固定日期进行操作,增加或 ...

  5. robotframework(rf)中对时间操作的datetime库常用关键字

    1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3.对时间格式转化,获取时间戳. 4.从完整时间中取指定年月日等 5.对时间类型进行格式化 6.获取当前时间或者指定时区 ...

  6. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  7. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作

    http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...

  8. AutoIt 软件自动化操作

    AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作. 它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现 ...

  9. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

随机推荐

  1. 10个用Java谋生非常有趣的方式

    令我惊讶的是,有些人觉得编程并不令人兴奋——只将它当作是一份枯燥的工作.不过,虽然可能的确有很多无聊的编程工作,但这并不意味着你不得不接受这些工作中的一个.程序员有各种各样的机会,运用他们的技能去做一 ...

  2. JSON.parse()与JSON.stringify()和eval()使用方法详解

    在和后端对接口的时候,遇到了一个问题 就是series里面数据变量进行拼接的时候,data数据里面全部是数值int类型的 但是因为某些需求需要让他进行某个数据之前的数据都为空 我试过用空字符串和und ...

  3. java gRPC四种服务类型简单示例

    一.gRPC 简介 gRPC 是Go实现的:一个高性能,开源,将移动和HTTP/2放在首位通用的RPC框架.使用gRPC可以在客户端调用不同机器上的服务端的方法,而客户端和服务端的开发语言和 运行环境 ...

  4. Java日志打印方法

    一.使用log4j打印日志 1. 下载log4j.jar和commons-logging.jar.     log4j.jar下载地址:http://logging.apache.org/log4j/ ...

  5. 苹果预热 WWDC 2019

    Erika Hairston 是一位来自旧金山的 23 岁耶鲁大学毕业生,她的首款 app Zimela 刚刚上线.这款应用主要为了宣传科技行业的多样性.Hairston 设计的 Zimela 通过建 ...

  6. AT&T推出云5G网络开源工具Airship

    导读 AT&T新推出的云5G网络依赖于一个名为“Airship”的开源供应工具,该工具在周一发布了第一个版本. AT&T负责网络云的副总裁Amy Wheelus告诉LightReadi ...

  7. HMC版本支持

      Target Version Upgrade From Upgrade Instructions Updates Date Available End of Service Models supp ...

  8. Qualcomm_Mobile_OpenCL.pdf 翻译-2

    2  Opencl的简介 这一章主要讨论Opencl标准中的关键概念和在手机平台上开发Opencl程序的基础知识.如果想知道关于Opencl更详细的知识,请查阅参考文献中的<The OpenCL ...

  9. java数据结构复习01

    1.数组 package javaDataStruct.array01; public class MyArray { private int[] arr; // 表示有效数据的长度 private ...

  10. 设计模式Design Pattern(4) -- 访问者模式

    什么是访问者模式? 一个对象有稳定的数据结构,却为不同的访问者提供不同的数据操作,对象提供接收访问者的方法,从而保证数据结构的稳定性和操作的多样性.也可以理解为,封装对象的操作方法,达到不改变对象数据 ...