Automation One By One - Robot Framework - User Keywords

Automation One By One - Robot Framework - Test Case这一章中已经简单介绍了keywords相关概念,我们知道keywords分为2大类,一类是Library keywords,另一类是userkeywords。对于Library keywords我们不在这边做详细的介绍了,本章主要介绍如何创建userkeywords.


1. userkeywords的语法(syntax)- 与test case的语法类似,唯一不同在于存放的位置不同,test case放在test case table中,keyword放在keywords table中

***keywords*** 
  userkeywords_name  [Arguments]

Examples

Example without arguments
***keywords*** 
  Open Login Page
    Open Browser  http://www.baidu.com
    Title Should Be  百度知道

Example with arguments
***keywords*** 
  Title Should Start With  [Arguments]  ${expected_value}
    ${title} =  Get Title
    Should Start With  ${title}  ${expected_value}
    

2. keywords table中可以加入settings命令
   为了与keywords的name区分,keywords table中的命令使用[settings]格式。
   可以使用的settings命令如下:

[Documentation]
Used for setting a user keyword documentation.
[Arguments]
Specifies user keyword arguments.
[Return]
Specifies user keyword return values.
[Timeout]
Sets the possible user keyword timeout. Timeoutsare discussedin a section of their own.


3. userkeywords中的arguments格式

4. userkeywords name中嵌入arguments.
  • 语法:在userkeyword名中嵌入argument后不能再使用[arguments]添加其它的参数了。
  • 在userkeyword名中的arguments依赖于调用userkeyword时传递的值,如下例子
百度高级搜索页面
*** Settings ***
Library         Selenium Library   15
Test Setup     Start Selenium Server
Test Teardown  Stop Selenium Server  

*** Testcases ***
TC1  [Documentation]  embedded arguments
  Open Browser    http://news.baidu.com/advanced_news.html
 Select 最近一年 from list
 Select 最近一周 from list 
 Select 最近一小时 from list
  comment 上述的值应该在下拉列表范围内,如果不在,系统会报错

*** Keywords ***
Select ${date} from list    
  Sleep  3s
  Select From List  name=mt   ${date}

  • 需要注意的事,如果传递的值是带有空格的,如 最近 一年, 在调用函数时必须用引号引起来,说明要传递的是一个参数,否则,系统会认为是2个值。
     Select "最近 一年" from list

5. 定义一个可以返回值的userkeywords - 实现这个功能,可以借助settings-[Return]命令实现

*** Keywords ***
Return Value keyword
  [Return]  pass


Return One Value     [Arguments]     ${arg}            
    Do Something     ${arg}            
    ${value} =     Get Some Value            
    [Return]     ${value}


6. 调用userkeywords

  从开发的角度讲,userkeywords及Library keywords相当于一个个封装好的函数,在test case中使用这些keywords时与调用函数的方法一样。

调用keywords
***Test Cases***
  Open Login Page
  Title Should Start  百度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值