RobotFramework测试框架(7)-SeleniumLibrary常用关键字

浏览器操作

打开浏览器

Open Browser    url=https://www.baidu.com    browser=edge

Go to用于你要转到某个URL,Go Back相当于浏览器的后退。

关闭浏览器

Close Browser

最大化浏览器

Maximize Browser Window

设置浏览器宽高

Set Window Size    800    600

刷新页面

Reload Page

切换窗口

通常做Web测试的时候,经常会遇到有多个窗口同时存在的情况。这里有两种情况,一种是在当前的浏览器弹出新的窗口;另一种是重新打开一个新的浏览器。对于第1种情况,需要用关键字Select Window和Close Window来处理弹出的窗口,只有当选择到对应的窗口,才能对这个窗口里的页面元素进行操作。不过实际操作时会发现有时Select Window不能保证一次就选中那个窗口,所以通常会结合Wait Until Keyword Succeeds这个关键字一起使用,来保证能选中那个窗口。如果要手动关闭这个弹出窗口,可以用Close Window。不过在通常情况下,都是在弹出窗口做了操作后,会自动关闭这个窗口,此时不要想着直接操作原来主窗口的页面元素,一定要先Select Window Main,即回到主窗口才能操作。对于第2种情况,官方给出的例子是用2个“Open Browser”打开了2个浏览器,每个浏览器分别打开不同的页面,此时两个浏览器切换需要用到Switch Browser这个关键字来切换,参数是打开浏览器的index顺序或者alias别名。而此时要关闭所有浏览器,最好直接用Close AllBrowsers,否则如果用Close Browser只会关闭当前的浏览器,还要切换到另一个浏览器去关闭。
RF点击某个按钮后,打开新的窗口,如何切换到新窗口?\

select window

iframe操作

选中指定iframe

Select Frame    locator

回到最外层iframe
如果需要定位的iFrame在当前Frame外或者平级,可以先试用unselect设置最外层的iFrame为当前Frame,再使用select
Frame切换到指定的iFrame来定位元素。

Unselect Frame

输入操作

输入文本

Input Text    //input[@id="kw"]    周杰伦

模拟按键输入
模拟用户按键输入,其中key可以是单个字符,也可以是以""开头的ASCII Code码。

Press Key    locator    key

获取文本
获取元素上文本信息,可以用于预期值对比。

${text}=     Get Text    locator

元素操作

element

Click Element locator 单击元素,可以通过id、name、xpath等指定要单击的元素
Click Button locator 单击button
Double Click Element locator 双击元素
Click Link locator 单击链接 可以通过id,name,href,link text来定位指定的连接
Getvalue、gettext用来获取网页元素的value或者text,使用时要看清楚网页源码对象是不是有value或者text。如果它没有text去get text,肯定会取到空值。如果想获取元素其他属性值,要用getelementattribute关键字,比如要获取class值,要用getelementattributeelement_id@class来获取

form element

form也就是表单,虽然这里起名是formElement,其实里面有很多基本对象的操作,包括checkbox,radio buttons,text fields,button。当然,它们几个放在这里也可以理解,因为它们的HTML源码都是input标签的,而且都是表单里所需要使用的。
form直接有关的就一个关键字submitform,用于提交表单的。接下来是checkbox和radio buttons。checkbox主要是selectcheckbox和unselectcheckbox,作用是勾选复选框和不勾选复选框。Radio buttons主要关键字是selectradiobutton。其他的一些关键字这里不进行细说了。text fields部分常用的有choosefile、inputtext、inputpassword。choose file用于上传文件的时候选择文件;inputtext和inputpassword其实本质上一样,只不过inputpassword在输入密码的日志上不会把密码打印出来。Button最常用的是clickbutton,点击按钮即可。

SelectElement

SelectElement主要是介绍列表框,列表框分单选和多选。选择列表框中的某一项,需要使用selectfromlist,如果你想选择得更快一些,可以使用这3个关键字:selectfromlistbyindex、selectfromlistbyvalue、selectfromlistbylabel,分别是通过index/value/label来选择列表项。如果是多选列表框想要全部选择可以用selectallfromlist。有选中同样也有对应的unselect,只有多选列表框才能unselect。unselectfromlist、unselectfromlistbyindex、unselectfromlistbyvalue、unselectfromlistbylabel都是用来取消选择的。如果你想知道列表框里都有什么列表项,可以用getlistitems来获取所有的列表项。
如果想确认一下选中的列表项对不对,可以用getselectedlistlabel和getselectedlistvalue。如果是多选列表框,这两个关键字默认取第1个列表项。如果想要取到所有的选中项,就把这两个关键字后面的label和value变成labels和values。

tableElement

对于table来说,是Web页面里最多出现的对象了,很多网页布局都用到了table。原版的版本里最有用的关键字就是gettablecell了,可以获取指定table里的指定行列的元素的文本值。其他的关键字多数都是用来判断元素是否存在的。

属性获取

获取页面标题

${title}=   Get Title

获取元素属性值

${name}=    Get Element Attribute    locator    attribute
${name}=    Get Element Attribute    id=kw    name

元素等待操作

等待页面出现某元素

Wait Until Page Contains Element    locator     30      Not found

等待页面包含指定文本,等待页面直到预期的元素出现,一般用于等待指定的文本信息出现。

Wait Until Page Contains    text

等待元素可见

Wait Until Element Is Visible    locator

预期结果校验

校验页面是否包含指定按钮

Page Should Contain Button    locator

校验页面是否包含指定元素

Page Should Contain Element    locator

校验url

Location Should Be    url

校验当前页面是否包含指定文本

Page Should Contain    text

校验元素是否包含某文本

Element Should Contain    locator    expected

校验元素是否可见

Element Should Be Visible    locator

校验元素存在

Variable Should Exist name

Cookie操作

● add cookie:添加Cookie;● delete cookie:删除Cookie;● delete all cookies:删除所有Cookie;● get cookies:获取所有Cookie;● get cookie value:获取Cookie的值。如果你测试的网站有需要对Cookie进行操作的话,请使用上述的关键

waiting

waiting里的关键字不多,主要就3个,即waitforcondition、waituntilpagecontains、waituntilpagecontainselement,这些其实就是前面提到的显式等待了,它们会持续尝试条件是否满足直到超过时间。其实笔者用的waitforcondition不多,更多情况下还是更愿意用BuiltIn里的关键字Wait Until Keyword Succeeds,而wait until page的两个关键字在页面加载比较慢的时候还是很有用的,避免我们在页面没有加载完就先去操作页面元素。鼓励大家多用显式等待。

其他常用

截屏

Capture Page Screenshot

执行js代码

Execute Javascript
  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Robot Framework是一款业内著名且常用关键字+数据驱动双内核自动化测试框架,简称为RF框架。它是一个开源的自动化测试框架,使用简单且易于上手,特别适合自动化测试新手使用。 RF框架的特点包括: 1. 关键字驱动:RF框架使用关键字来描述测试步骤和操作,使得测试用例的编写更加简洁和易于维护。 2. 数据驱动:RF框架支持使用数据表格来组织测试数据,可以通过数据驱动的方式执行多组测试数据。 3. 插件化扩展:RF框架支持丰富的插件和库,可以方便地扩展功能,满足不同项目的需求。 4. 多语言支持:RF框架支持多种编程语言编写关键字库,包括Python、Java、.NET等,方便开发人员选择适合自己的语言进行开发。 5. 强大的报告和日志:RF框架提供了丰富的测试报告和日志功能,可以方便地查看测试结果和定位问题。 下面是一个使用RF框架编写的示例测试用例: ```robotframework *** Settings *** Library SeleniumLibrary *** Variables *** ${BROWSER} Chrome ${URL} https://www.example.com *** Test Cases *** Open Browser and Verify Title Open Browser ${URL} ${BROWSER} Title Should Be Example Domain Close Browser ``` 上述示例中,首先通过`Library`关键字引入了SeleniumLibrary库,然后定义了两个变量`${BROWSER}`和`${URL}`,分别表示浏览器类型和要访问的URL。接着定义了一个测试用例`Open Browser and Verify Title`,其中使用了`Open Browser`关键字打开浏览器,`Title Should Be`关键字验证页面标题,最后使用`Close Browser`关键字关闭浏览器。 通过以上示例,你可以看到RF框架的简洁和易用性。你可以根据自己的需求编写更多的测试用例,并使用RF框架提供的丰富功能进行自动化测试

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值