robotframework evaluate使用

111

转载于:https://www.cnblogs.com/Chamberlain/p/10867989.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RobotFramework基础教程 基础教程 安装 安装 Pycharm 安装插件 Pycharm File->Settings->Plugins 搜索并安装插件 IntelliBot Run Robot Framework Testcase RunRobot Framework 基本格式 基本格式 Settings Library Resource Force Tags Defalut Tags(未定义任何标签时) Test Setup Test TearDown Test Template Test Timeout Variables Keywords Test Cases [Tags] [Template] [Documention] [Timeout] [Return] [Arguments] [Setup] [TearDown] Suite(⽂件夹) __init__⽂件 library为第三⽅库或⾃定义库,resource为⾃定义关键字集合,variables为⾃定义变量集合 简单⽰例 简单⽰例 Selenium Demo pip install robotframework robotframework-selenium2library *** Setttings *** ** Test Setup ** ... ** Test Teardown ** ... *** Keywords *** loginwebsite [Arguments] ${username} ${password} Open Browser http://... chrome [Return] ${lessons} *** Settings *** Library SeleniumLibrary *** Test Cases *** test rf log hello robot framework Baidu search case Open Browser http://www.baidu.com chrome Input text id=kw robot framework Click button id=su Close Browser baidu_search.robot Headless Demo MySQL操作 操作Demo *** Settings *** Documentation Simple examle using SeleniumLibrary Library SeleniumLibrary *** Variables *** ${URL} http://www.baidu.com ${BROWSER} Chrome *** Keywords *** Baidu Search [Arguments] ${search_key} Input text id:kw ${search_key} click button id:su Evaluate time.sleep(2) time ${title} Get title [Return] ${title} *** Test Case *** case1 Open Browser ${URL} ${BROWSER} ${title} Baidu Search robot framework Should contain ${title} robot framework_百度搜索 close Browser case2 Open Browser ${URL} ${BROWSER} ${title} Baidu Search selenium Should contain ${title} selenium_百度搜索 close Browser *** Settings *** Documentation This example demonstrates how to use current library Library SeleniumLibrary *** Test cases *** Open Browser with Chrome options in headless mode ${options} Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver Call Method ${options} add_argument --start-maximized Call Method ${options} add_argument --headless Call Method ${options} add_argument --disable-gp
Robotframework⼊门教程(⼀) 最近⼯作中⽤Robot Framework框架来做⾃动化,所以,花时间学习了⼀下,⽹上好的⽂档不多,⼤多都是复制粘贴如何安装环境。要么就是介绍了⼀堆RIDE 的界⾯,活活把这么强⼤的⼀个⼯具讲成了个photoshop,我⽬前⽤了1个多⽉,这个⼯具很强⼤,简单写两句。 ==安装== ⾸先其实RIDE是个好⼯具,但是安装起来真⼼费劲,当时我的MAC上安装的时候google了两天,⼀个问题接⼀个问题。 我这边呢就不⽤RIDE了,想⽤呢⾃⼰想辙安去。 安装命令: pip install robotframework ==第⼀个testcase== RF的特点什么的就不多说了,⽹上有的是,撸起袖⼦就是⼲。 新建demo.robot⽂件,内容如下。 *** Test Cases *** First Case Log Hello World! warn Second Case ${res} Evaluate 1+2+3 Should Be Equal ${res} 6 Third Case ${res} Evaluate 'i'*3 Length Should Be ${res} 运⾏ robot demo.robot。将得到如下 上⾯的例⼦有三条case,第⼀条调⽤内置关键字Log, 第⼀个参数是"Hello World! " ,第⼆个参数是"warn"。就是简单打印⼀条log,后⾯的是log的等级,默 认输出info以上的log到console,截图中可以看到first case中打印了 Hello World!等级为WARN。 第⼆条case,调⽤内置关键字Evaluate,参数是"1+2+3",结果赋值给变量res(RF的语法是⽤$和⼤括号代表标量变量,还有其他类型的变量以后再说)然后调 ⽤Should Be Equal校验结果是否等于6,因为默认是字符串格式,所以second case 执⾏结果是FAIL。 第三条case,和第⼆条类似,同样调⽤Evalutate 赋值给变量res为"iii",校验变量长度为3,执⾏结果为PASS。 最后三⾏显⽰这次执⾏结果⽣成的⽂件,output.xml,log.html,report.html。打开log⽂件如下,结果报告有什么优点就不说了,⾃⼰去看。output.xml先放放以后 再说。 前⾯说过RF中默认的都是格式是String,那么怎么给关键字传其他的类型,答案是⽤变量。修改second case如下: Second Case ${res} Evaluate 1+2+3 Should Be Equal ${res} ${6} 再次执⾏robot demo.robot 这次的结果
robotframework接⼝测试案例 1.关键字:post请求 *** Settings *** Library RequestsLibrary *** Keywords *** post.request [Arguments] ${url} ${api} ${data} ${headers} [Documentation] post请求封装 #创建session create session _session ${url} headers=${headers} #发送请求 ${respose} post request _session ${api} data=${data} headers=${headers}    #校验请求是否成功 Should Be Equal As Strings ${respose.status_code} 200 ${json}= set variable ${respose.json()}    #返回请求结果 [Return] ${json} 2.关键字:接⼝调⽤post请求: *** Settings *** Resource ../Public_KeyWords/post请求.robot *** Keywords *** com.souche.shop.api.TgcShopOperateService [Arguments] ${all} ${headers}= create dictionary _dubbo_token=souche_http_token _method_name=addTgcShop Content-Type=application/x-www-form- urlencoded; charset=UTF-8 ${resq} post.request http://IP地址:端⼝ /com.souche.shop.api.TgcShopOperateService ${all} ${headers} [Return] ${resq} 3.关键字:连接数据库 *** Settings *** Library DatabaseLibrary *** Keywords *** connect.database [Arguments] ${base_name} ${user_name} ${password} ${host} ${port} #连接数据库 connect to database using custom params pymysql database='${base_name}',user='${user_name}',password='${password}',host='${host}',port=${port} 4.接⼝参数变量: #-*- coding: utf-8 -*- #添加弹个车店铺 variables={ "name":"测试店",#店铺名称 "short_name":"测试店", #对外简称, "nickname":"测试店", #对内简称, "isTest":"1",#是否是测试店 "phone":"13251028260",#⼿机号 "address":"北京王府井",#'地址', "area":"西直门128号" ,#地区,省市区拼接, "province":"北京",#省 "city":"北京",#市 "region":"东城区",#地区 "address_call":"0571-3399456",#座机号码 "coordinate":"120.288383,30.203987", #⾼德坐标 } 5.测试case: *** Settings *** Documentation 添加弹个车店铺 Variables ../Resource/add_tgcshop.py Resource ../KeyWords/Tgcshop_add.robot Resource ../Public_KeyWords/connect_database.robot *** Test Cases *** 增加弹个车店铺 ${variable}= evaluate json.dumps(${variables}, ensure_ascii=False, encoding='UTF-8') json log ${variable} ${par}= create dictionary shopQO=${variable} ${req}= com.souche.shop.api.TgcShopOperateService ${par} ${result}= set variable ${req['data']['success']} should be
robotframework调⽤python类⽅法_(五)RobotFramework基 础。。。 上⼀⼩节,你已经感受到了 Robot Framework 的基本说法,这⼀⼩节你将会看到 Robot Framework 更多强⼤的⽤法。 if 语句 通过 "run keyword if" 关键字可以编写 if 分⽀语句。 *** Test Cases *** test case8 ${a} Set variable 59 run keyword if ${a}>=90 log 优秀 ... ELSE IF ${a}>=70 log 良好 ... ELSE IF ${a}>=60 log 及格 ... ELSE log 不及格 ⾸先定义变量 a 等于 59 。 If 判断 a ⼤于等于 90 ,满⾜条件 log 输出 "优秀 "; 不满⾜上⾯的条件,接着 else if 判断 a ⼤于等于 70 ,满⾜条件 log 输出 "良好"; 不满⾜上⾯的条件,接着 else if 判断 a ⼤于等于 60 ,满⾜条件 log 输出 "及格"; 上⾯的条件都不满⾜,else log 输出"不及格"。 注意 sele if 和 else 前⾯的三个点点点(...) for 循环 在 Robot Framework 中编写循环通过 ":FOR" 。 1、循环 0~9 。 *** Test Cases *** test case9 :FOR ${i} IN RANGE 10 \ log ${i} 通过":FOR"定义 for 循环;IN RANGE ⽤于指定循环的范围。 2、遍历列表。 *** Test Cases *** test case10 @{abc} create list a b c : FOR ${i} IN @{abc} \ log ${i} "create list" 关键字⽤来定义列表(a,b,c),"@{}"⽤来存放列表。通过过 ":FOR" 循环来来遍历@{abc}列表中的字符。 强⼤的 Evaluate 为什么说"Evauate"关键字强⼤呢。因为通过它可以使⽤ Python 语⾔中所提供的⽅法。 1、 ⽣成随即数 在 Python 中我们可以这样来引和并使⽤⽅法: C:\Users\fnngj> python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import random >>> random.randint(1000, 9999) 9777 random 模块的 randint()⽅法⽤于获取随机数。 在 Robot Framework 中使⽤ "Evauate" 也可以调⽤ Python 所提供的 random 模块下的 randint()⽅法。 *** Test Cases *** test case11 ${d} Evaluate random.randint(1000, 9999) random log ${d} 2、 调⽤⾃⼰编写的 Python 程序 ⾸先创建 D:/rf_test/count.py ⽂件。 def add(a,b): return a + b if __name__ == "__main__": a = add(4,5) print(a) 通过add函数实现两个数相加,这是再简单不过的⼩程序了。 下⾯就通过 Robot Framework 调⽤ count.py ⽂件中的 add()函数。 *** Test Cases *** test case12 Import Library D:/rf_test/count.py ${a} Evaluate int(4) ${b} Evaluate int(5) ${add} add ${a} ${b} log ${add} 在 Robot Framework 中所有的内容都是字符串类型,所以,需要通过 "Evaluate" 将 4 和 5 转化为 int 类型后,再调⽤ add 计算两个 数的和。 注释 Robot Framework 中添加注释也⾮常简单。"Comment" 关键字⽤于设置脚本中的注释。除此之外,你也可以像 Python ⼀样使 ⽤"#"号进⾏注释。 *** Test Cases *** test case13 Comment 这是注释 #这也是注释 如果你熟悉 Python 编程语⾔,那么 Robot Framework ⼏乎没有实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值