
用RobotFramework 做接口自动化,这个时候,如果你不确定需要传几个参数该怎么办?
或者接口里面的参数太多,我们参数化的时候,太麻烦
将${dict}传递进test中。运行test01,输出:
总结下就这张图了。@~@
${json} = {u'msg': u'\u53c2\u6570shopId\u5fc5\u586b'}
${json} = {"msg": "参数shopId必填"}
如果请求数据类型为json且带有中文,传递过去会出现乱码。解决办法两部:
如图1:这样的方式传递是不需要使用上述步骤
方法一:
输出:
方法二:
1 mac电脑:在python安装路径 :/Library/Python/27/site-packages下创建一个自己的文件夹,用于放自定义的library库,例如:yyqRFLibrary。
这样就封装了一个自己的关键字。
比如:
如图一。如果要传递进请求中,可能需要不断的拼接,创建list,很繁琐。可以直接使用上节提到的evaluate。
${resp} 可以理解为一个接口响应回来的对象。可以调用其内部的许多方法实现输出不同的数据。
['__attrs__', '__bool__', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getstate__', '__hash__', '__init__', '__iter__', '__module__', '__new__', '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_content', '_content_consumed', 'apparent_encoding', 'close', 'connection', ' content ', ' cookies ', 'elapsed', 'encoding', ' headers ', 'history', 'is_permanent_redirect', 'is_redirect', 'iter_content', 'iter_lines', ' json ', 'links', 'ok', 'raise_for_status', 'raw', 'reason', 'request', ' status_code ', ' text ', 'url']
content: 响应body的内容,二进制编码,如果返回只有文本内容,和text差不多
cookies:响应回写的cookies,cookieJar类对象
headers: 响应头内容
json(): 响应body内容,json格式
status_code: 状态码
text: 响应body的内容,默认unicode编码
安装Robot Framework 的前提是Python被安装。另外,需要使用用Java编写的测试库, Jython 必须被安装。对使用本篇快速入门来说Pyhon已经足够了。 共有三种不同的安装Robot Framework 的方法,从而可以选择最合适你的方式。
可以比较,例如下面的测试脚本,可以执行通过:
12345678910 Settings Test Cases Test List @{list1}= Create List 1 2 3 # 生成一个list: [1,2,3] @{list2}= Create List 1 2 3 # 生成一个list: [1,2,3] @{list3}= Create List 1 2 # 生成一个list: [1,2] Should Be Equal ${list1} ${list2} #list1和list2是相同的列表,比较结果相等 Should Not Be Equal ${list1} ${list3} #list1和list3是不同的列表,不相等
创建字典和创建列表类似,都可以variable和测试例中创建,使用关键字&
方法二,在测试例中创建字典,使用&{dt1}[user]打印关键字为user的值,也可使用${dt2passwd}打印关键字passwd的值
增加字典内容
运行结果:
嵌套字典内容
运行结果:
将python的方法封装成函数,保存到文件中,该文件就可以用到多个项目中。现在有个python文件(/root/testlibpy),提供了两个函数,实现两个数字的加减运算,在RobotFramework通过importlibrary关键字导入该文件,即可调用文件中的方法。
Robotframework做UI自动化测试示例框架
UI自动化测试用例也写过一阵子了,这边给大家分享一套完整的UI自动化测试框架,还是很感谢同事的帮忙和教导
1、搭建UI自动化框架
框架主通过测试用例,元素定位,系统关键字,系统变量,行为导入这五个模块组成。具体详情请看截图。
2、测试用例当中比较重要的一个东西就是tags,tags标识着每一个用例,再做回归测试的时候就不会那么乱,并且后期维护起来也会比较方便。
1>Force Tags:在文件型Suite这里还可以继续给子元素增加Force Tags,但是他不能删除父元素设置的tags。
2>测试用例tags
3、测试用例编写
Robotframework可以通过setup和teardown可以避免冗余 *** 作,把登陆和关闭浏览器等 *** 作放在Suite固定执行,就不必在每个用例中都写入登陆和关闭浏览器等 *** 作。和python做自动化测试中setUp与tearDown的作用是一致,特别有意思。总感觉我对自动化测试的概念不是特别深入,还是需要不断尝试,学习当中。
4、页面中iframe嵌入HTML如何定位元素(番外)
这个算是这次总结的番外篇,之前都没怎么遇到比较复杂的元素,这次的项目包含iframe,百度了很久才解决了,如果遇到iframe中包含html,需要定位HTML中的元素,需要先进入iframe中,通过Select Frame *** 作即可。
select frame的用法如下:
示例如下:
我用的比较笨的办法,先点击那个输入框,然后等待列表出现之后,点击列表中的元素。
我测试的下拉列表是这样子的:
如果你的下拉列表是select类型的,可以用selenium2Library中的select form list by value
以上就是关于Robot Framework接口测试总结全部的内容,包括:Robot Framework接口测试总结、robotframework怎么获取页面的html代码、robotframework怎么比较两个顺序不同的list等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)