Robot Framework自动化测试 第三节 --seleniumAPI

Robot  Framework  Selenium  API

 

说明:

   此文档只是将最常用的UI 操作列出。更多方法请查找selenium 关键字库。

 

 

 

一、浏览器驱动

 

通过不同的浏览器执行脚本。

 

Open Browser

Htpp://www.xxx.com

chrome

 

浏览器对应的关键字:

firefox

FireFox

ff

internetexplorer

 

Internet Explorer

ie

googlechrome

 

Google Chrome

 

gc

chrome

opera

Opera

phantomjs

PhantomJS

htmlunit

HTMLUnit

htmlunitwithjs

HTMLUnit with Javascipt support

android

Android

iphone

Iphone

safari

Safari

 

备注:

要想通过不同的浏览打开URL地址,一定要安装浏览器相对应的驱动。如chrome 的驱动:

chromedriver.exe 等。

浏览器默认为空时启动FireFox

 

二、关闭浏览器

 

关闭浏览器

Close Browser

 

 

关闭当前的浏览器。

 

关闭所有浏览器

Close All Browsers

 

 

关闭所有打开的浏览器和浏览器缓存重置。

 

 

三、浏览器最大化

 

Maximize Browser Window

 

 

 使当前打开的浏览器全屏。

 

四、设置浏览器宽、高

 

Get Window Size

800

600

以像素为单位,第一个参数800表示宽度,第二个参数600表示高度。

 

 

五、文本输入

 

Input Text

Xpath=//* [@]

输入信息

Xpath=//* [@] :表示元素定位,定位文本输入框。

 

 

 

六、点击元素

 

Click Element

Xpath=//* [@]

 

Xpath=//* [@] :表示元素定位,定位点击的元素。

 

 

 

七、点击按钮

 

Click Button

Xpath=//* [@]

 

Xpath=//* [@] :表示元素定位,定位点击的按钮。

 

 

 

八、注释

 

注释1

Comment

注释说明

 

 

注释2

# 注释说明

 

 

除了使用Comment 关键字进行注释外,Robot framework框架是基于python语言开发的,所以提供了python语言的注释“#”方式。

 

 

九、固定时间休眠

 

Sleep

42

 

Sleep

1.5

 

Sleep

2 minutes 10 seconds

 

Sleep表示执行到当前行固定休眠多长时间,以“秒”为单位。

42表示42秒;

1.5 表示1.5秒;

2 minutes 10 seconds 表示210秒。

 

 

十、等待元素出现在当前页面

 

Wait Until Page Contains Element

Xpath=//* [@]

42

error

Xpath=//* [@] :表示元素定位,这里定位出现的元素

42 : 表示最长等待时间。

Error : 表示错误提示,自定义错误提示,如:“元素不能正常显示”

 

 

 

十一、获取title

 

Get Title

 

 

获得当前浏览器窗口的title 信息。

 

这里只获取title 是没有意义的,我们通常会将获取的title 传递给一个变量,然后与预期结果进行比较。从而判断当前脚本执行成功。

 

 

 

十二、获取文本信息

 

Get Text

Xpath=//* [@]

 

 

Xpath=//* [@] : 定位文本信息的元素。

 

 

 

十三、获取元素属性值

 

Get Element Attribute

id=kw@name

 

 

id=kw@name : id=kw 表示定位的元素。@nam 获取这个元素的name属性值。

 

 

十四、cookie处理

 

获取cookie

get cookies

 

 

获得当前浏览器的所有cookie 

 

获得cookie

get cookie value

Key_name

 

Key_name : key_name 表示一对cookiekeyname 

 

删除cookie

delete cookie

Key_name

 

删除keyname cookie信息。

 

删除所有cookies

delete all cookies

 

 

删除当前浏览器的所有cookie

 

添加cookie

add cookie

Key_name

Value_name

添加一对cooke keyvalue

 

 

十五、声明变量

 

${a}

Set Variable

hello

定义变量ahello

 

${a}

${b}=

Set Variable

hello

world

定义变量ahello bworld 

 

 

 

十六、日志(输出)

 

${a}

Set Variable

Hello World

log

${a}

 

在测试报告中输出a变量的值hello word

 

 

 

十七、获得浏览器窗口宽、高

 

${width}

${height}

get window size

log

${width}

 

log

${height}

 

获得浏览浏览器窗口宽、高,通过log 将宽高,打印到报告中。

 

 

 

十八、验证

 

open browser

http://www.baidu.com

chrome

${title}

Get Title

 

should contain

${title}

百度一下,你就知道

 

Open Browser 通过chrome打开百度首页。

Get Title 获得浏览器窗口的titile ,并赋值给变量${title}

Should Contain 比较${title}是否等于“百度一下,你就知道”。

 

如果item1 不包含 item2 一次或多次,那么失败。

 

 

 

十九、表单嵌套

 

Select Frame

Xpath=//* [@]

 

Unselect Frame

 

 

Select Frame 进入表单,Xpath=//* [@] 表示定位要进入的表单。

Unselect Frame 退出表单。

 

 

二十、下拉框选择

Unselect From List By Value

Xpath=//* [@]

vlaue

 

 

 

Xpath=//* [@] 定位下拉框;

Vlaue 选择下拉框里的属性值。

 

 

二十一、If分支语句

 

${a} 

Set variable

2

 

 

${b} 

Set variable

5

 

 

run keyword if

${a}>=1

log

a大于1

 

...

ELSE IF

${b}<=5

log

b小于等于5

...

ELSE

log

上面两个条件都不满足

 

 

首先定义两个变量分别为 

If 判断 大于等于,满足条件log 输出 “a大于1 ”;

不满足上面的条件,接着else if 判断b小于等于,满足条件log 输出 “b小于等于5”;

上面两个条件都不满足,else  log输出“上面两个条件都不满足”。

 

备注:注意sele if else前面的三个点点点(...

 

 

 

二十二、for 循环语句

 

循环1

:FOR

${i}

in range

10

 

log

${i}

 

 

查看结果:

 

循环变量i 从0 循环10次。

 

 

循环2

@{a}

create list

aaa

bbb

:FOR

${i}

in

@{a}

 

log

${i}

 

@{a} 定义为一个字符串列表。

通过in 可遍历非整型(in range

 

 

说明:

Log if 分支,for 循环并非selenium关键字库的提供的方法,是由BuiltIn包提供。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
⾯试题: ⾯试题:robotframework题 题 根据我之前总结的robotframework笔记,相信这些题不在话下,否则的话,只能再去回顾⼀遍啦! 01: :RF⽀持的四种表? ⽀持的四种表? Setting,Variable,Testcase,keywords 02:⽤例配置部分 :⽤例配置部分[Template]是什么意思? 是什么意思? 声明该⽤例是模板关键字驱动的,本⽤例只包含测试数据 03: :Variables表主要是做什么的? 表主要是做什么的? 声明全局变量表 04: :展开 展开list每个元素和 每个元素和dict的每个元素分别是什么? 的每个元素分别是什么? list:@{var} dict:&{var} 05: :如何 如何py⽂件⾃⼰定义关键字? ⽂件⾃⼰定义关键字? 函数前加个装饰器@keyword('⾃⼰定义') 06: :如果报找不到模块错误,在执⾏命令上加什么参数? 如果报找不到模块错误,在执⾏命令上加什么参数? --pythonpath或-P 07: : 如何指定执⾏测试⽤例和测试套件、 如何指定执⾏测试⽤例和测试套件、 --test指定测试⽤例,--suite指定测试套件 08: :如何给测试⽤例打标签?默认标签如何设置? 如何给测试⽤例打标签?默认标签如何设置? 在⽤例⾥通过[tags]去定义,默认标签在setting表Default Tags 09: :如何按标签去执⾏测试⽤例? 如何按标签去执⾏测试⽤例? 参数加个--include 标签 10: :rf⾥相当于 ⾥相当于python的 的break和 和continue的关键字是? 的关键字是? Exit For Loop和Continue For Loop
RobotFramework⾯试题 ⾯试题 什么是 什么是 RF 基于可扩展关键字驱动的⾃动化测试框架 什么是可扩展关键字驱动 什么是可扩展关键字驱动 可扩展意味着可以⾃⼰开发,也可以调⽤第三⽅的关键字关键字驱动意味着测试⽤例都是围绕着关键字运⾏的 RF 的原理(框架?) 的原理(框架?) 测试数据和关键字库都是⾃⼰准备的 编写测试⽤例后,RF 解析测试数据,执⾏测试⽤例,最终⽣成测试报告 RF 只是⼀个⼯具,并没有和被测系统发⽣真实交互 RF ⽀持哪四种表? ⽀持哪四种表? Settings:全局配置表 Test Cases:测试⽤例集 Variables:全局变量表 Keywords:⽤户⾃定义的关键字表 ⽤例配置部分,想加前置、后置操作怎么写? ⽤例配置部分,想加前置、后置操作怎么写? [Setup] [Teardown] 如何给测试⽤例打标签 如何给测试⽤例打标签 在⽤例⾥⾯添加 [Tags] 如何按标签去执⾏测试⽤例 如何按标签去执⾏测试⽤例 命令⾏运⾏时,加命令⾏参数 --include 标签名 如何展开 如何展开list每个元素和 每个元素和dict的每个元素分别是什么? 的每个元素分别是什么? list:@{var} dict:&{var} 如果报找不到模块错误,在执⾏命令上加什么参数? 如果报找不到模块错误,在执⾏命令上加什么参数? --pythonpath 或 -P 如何指定执⾏测试⽤例和测试套件? 如何指定执⾏测试⽤例和测试套件? 命令⾏运⾏,加命令⾏参数:--test 指定测试⽤例,--suite 指定测试套件 rf ⾥相当于 ⾥相当于python 的 的 break 和 和 continue 的关键字是? 的关键字是? Exit For Loop和Continue For Loop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值