rf接口自动化框架(RF自动化框架)

网友投稿 584 2023-01-06


本篇文章给大家谈谈rf接口自动化框架,以及RF自动化框架对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享rf接口自动化框架的知识,其中也会对RF自动化框架进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

RobotFramework 自动化框架环境搭建及使用

一、为什么要做自动化?

前提:主流程稳定,周期长,脚本可重复利用。

1.节省人力资源

2.提高效率

3.面试需要


二、什么是RobotFramework:

基于Python的关键字驱动的自动化框架。

1. 基于Python:就是由python语言开发的这个框架。

2.关键字驱动:关键字驱动测试又称为表格驱动测试,是自动化测试的一种方法,是数据测试的一种改进方法。关键字驱动主要包括测试步骤、测试步骤中的对象,测试对象执行的动作,测试对象需要的数据

3.自动化框架?:是应用于自动化测试,框架提供可重用的基础自动化测试平台,提供自动化测试执行和管理功能的组织架构。


三、pip的常用方法:

pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。

以下在win10_x64 cmd中操作:

安装:pip install 包名

eg:pip install robotframework

安装指定版本:pip install 包名==版本号

eg:pip install robotframework==1.7.4.1

升级指定包:pip install --upgrade 包名

eg:pip install --upgrade robotframework

卸载:pip uninstall 包名

eg:pip uninstall robotframework

搜索安装包:pip search 包名

eg:pip search robotframework

查看当前电脑上已经安装的包:pip list

查看当前电脑上可以升级的包:pip list -o


四、rf的安装:

安装RF自动化框架:pip install robotframework

安装RF自动化框架IDE:pip install robotframework-ride

安装wxpython(ride依赖wxpython):pip install wxpython

ps :实际上新版本pip在安装ride时会自动安装所需依赖,也就是wxpython

版本信息:Win10 x64 + Python 3.7.7 + rf 3.1.2 + ride 1.7.4.1 + wxpython 4.0.7.post2

ps :ride 1.x版本不支持Python 3.8及以上,ride 2.x(开发中)支持Python 3.8

rf日志中文乱码解决方法:修改文件 python安装目录下 Libsite-packagesrobotidecontrib estrunner estrunnerplugin.py 第 565 行,将 SYSTEM 改成 OUTPUT ,重启ride工具。


五、元素定位:

id :以百度搜索输入框为例

在RF中写法: id=kw

name :以百度搜索输入框为例

在RF中写法: name=wd

xpath :Xml Path Language

1. 绝对路径:从html根部逐级(从上至下)查找

/html/body/p[1]/p[1]/p[3]/p/p/form/span[1]/input

在RF中写法:xpath=/html/body/p[1]/p[1]/p[3]/p/p/form/span[1]/input


2.相对路径:根据节点的上下文进行查找

eg://p/form/span/input 这里是在html中找一个p,p里面包含一个form,form包含一个span,span包含一个input,找有这样一个四层的关系的input标签,要注意如果html中有多个符合这种层级关系的input,会默认选第一个,也就是说这种方式未必是完全准确的。

3. xpath相对定位我们还可以根据元素的属性来查找:

eg://p/form/span[1]/input[@type] 这里是找符合这样一个层级关系并且有'type'这个属性的input标签

在RF中写法:xpath=//p/form/span[1]/input[@type]

eg://p/form/span[1]/input[@type='submit'] 这里是找符合这样一个层级关系并且'type'这个属性的值为'submit'的input标签

在RF中写法:xpath=//p/form/span[1]/input[@type='submit']

eg://p/form/span[1]/input[contains(@type,'sub')] 这里是找符合这样一个层级关系并且'type'这个属性的值包含'sub'的input标签

在RF中写法:xpath=//p/form/span[1]/input[contains(@type,'sub')]

以上是根据属性,如果是下面这样的a标签,我们还可以根据链接文字来进行定位

点我

eg://a[contains(text(),'点我')] 这样就是找所有a标签并且文字为'点我'的元素了

在RF中写法:xpath=//a[contains(text(),'点我')]


小技巧:

在 Chrome-F12-Console 中根据Xpath寻找元素:使用 $x (""),引号中填写xpath路径,如$x("/html/body/p[1]/p[1]/p[3]/p/p/form/span[1]/input")


css:

id: 以百度搜索输入框为例

在RF中写法: css=#kw

class: 以百度搜索输入框为例

在RF中写法: css=.s_ipt

css根据属性定位 :

[id='kw'] 表示查找id值为'kw'的元素

[name^='w'] 表示查找name值为'k'开头的元素

[class$='ipt'] 表示查找class值为'ipt'结尾的元素

[autocomplete*='f'] 表示查找autocomplete值中包含'f'的元素

[id='kw'] [name^='w'] 表示查找id值为'kw'并且name值为'k'开头的元素

在RF中写法:css=[id='kw'] [name^='w']、css=[class$='ipt']、

css=[maxlength='255']、css=[autocomplete='off']

ps:id和class也是属性,只是在css中针对id和class多了一种简单的写法,如上面的

css=#kw、css=.s_ipt

css根据标签定位:

input

表示查找当前页面所有input标签

在RF中写法:css=input

a,input

表示查找当前页面所有a标签和input标签

在RF中写法:css=a,input

span input

表示查找span标签下的所有input标签,哪怕是span下下级的input

在RF中写法:css=span input

spaninput

表示查找父元素为span标签的所有input标签,注意和span input的区别

在RF中写法:css=spaninput

span+input

表示查找紧挨在span元素后的第一个input元素

在RF中写法:css=span+input

span~input

表示查找紧挨在span元素后的所有input元素

在RF中写法:css=span~input

ps :其实大家都知道,因为页面上只依靠标签定位的话重复的可能性太大了,所有我们可以采用 标签 + 属性 的方式来进行定位

例如 spaninput[id='kw'][name^='w'] 意思是查找所有父标签为span的input标签,并且该标签中有属性id的值为kw且属性name的值为w开头

在RF中写法:css=spaninput[id='kw'][name^='w']


小技巧:

在 Chrome-F12-Console 中根据css寻找单个元素:

使用 $ (""),引号中填写css选择器,如$("spaninput[id='kw'][name^='w']")

在 Chrome-F12-Console 中根据css寻找多个元素:

使用 $ (""),引号中填写css选择器,如$("spaninput[id='kw'][name^='w']")

robotframework接口自动化-批量上传文件

接口自动化中自然不能少的了上传文件,但是上传文件好多同学不太清楚怎么去做,我这里做一个批量上传的接口,同样也支持单个上传。

首先我们找一个支持文件上传的接口,或者自己写一个(有开发能力可动手实现 . )

我使用的接口如下:

下面我们开始写上传文件的RF脚本

之后,我们可以这样使用

Python自动化测试框架有哪些?

分享一些可用rf接口自动化框架的Python自动化测试框架。
自动化测试常用rf接口自动化框架的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。Pytest、Robot Framework和UnitTest主要用于功能与单元测试rf接口自动化框架,Lettuce和Behave仅适用于行为驱动测试。
一、Robot Framework
Python测试框架之一,Robot Framework被用在测试驱动(test-driven)类型的开发与验收中。虽然是由Python开发而来,但是它也可以在基于.Net的IronPython和基于Java的Jython上运行。作为一个Python框架,Robot还能够兼容诸如Windows、MacOS、以及Linux等平台。
在使用Robot Framework(RF)之前,需要先安装Python 2.7.14及以上的版本。推荐使用Python 3.6.4,以确保适当的注释能够被添加到代码段中,并能够跟踪程序的更改。同时还需要安装Python包管理器--pip。
二、Pytest
适用于多种软件测试的Pytest,是另一个Python类型的自动化测试框架。凭借着其开源和易学的特点,该工具经常被QA(质量分析)团队、开发团队、个人团队、以及各种开源项目所使用。鉴于Pytest具有“断言重写(assert rewriting)”之类的实用功能,许多大型互联网应用,如Dropbox和Mozilla,都已经从下面将要提到的unittest(Pyunit)切换到了Pytest之上。
除了基本的Python知识,用户并不需要更多的技术储备。另外,用户只需要有一台带有命令行界面的测试设备,并且安装好了Python包管理器、以及可用于开发的IDE工具。
三、UnitTest/PyUnit
UnitTest/PyUnit一种标准化的针对单元测试的Python类自动化测试框架。基类TestCase提供了各种断言方法、以及所有清理和设置的例程。因此,TestCase子类中的每一种方法都是以“test”作为名词前缀,以标识它们能够被作为测试用例所运行。用户可以使用load方法和TestSuite类来分组、并加载各种测试。
可以通过联合使用,来构建自定义的测试运行器。正如我们使用Junit去测试Selenium那样,UnitTest也会用到UnitTest-sml-reporting、并能生成各种XML类型的报告。由于UnitTest默认使用了Python,因此我们并不需要什么先决条件。除了需要具备Python框架的基本知识,您也可以额外地安装pip、以及用于开发的IDE工具。
四、Behave
行为驱动开发是一种基于敏捷软件开发的方法。它能够鼓励开发人员、业务参与者和QA人员,三者之间的协作。Python测试框架Behave允许团队避开各种复杂的情况,去执行BDD测试。从本质上说该框架与SpecFlow和Cucumber相似,常被用于执行自动化测试。用户可以通过简单易读的语言来编写测试用例,并能够在其执行期间粘贴到代码之中。而且,那些被设定的行为规范与步骤,也可以被重用到其rf接口自动化框架他的测试方案中。
任何具备Python基础知识的人都可以使用Behave。其他先决条件还包括:先安装Python 2.7.14及以上的版本。通过Python包管理器或pip来与Behave协作。大多数开发人员会选择Pycharm作为开发环境,当然您也可以选用其他的IDE工具。
五、Lettuce
Lettuce是另一种基于Cucumber和Python的行为驱动类自动化工具。Lettuce主要专注于那些具有行为驱动开发特征的普通任务。它不但简单易用,而且能够使得整个测试过程更流畅、甚至更有趣。安装带有IDE的Python 2.7.14、及以上的版本。当然,您也可以使用Pycharm或任何其他IDE工具。同时,您还需要安装Python包管理器。
自动化测试的Python框架,Pytest、Robot Framework和UnitTest可主要用于功能与单元测试,而Lettuce和Behave仅适用于行为驱动测试。对于功能测试而言,Pytest是的。如果您是基于Python自动化测试的新手,Robot Framework是的入门工具。虽然其功能有所受限,但是它非常容易上手。对于基于Python的BDD测试而言,Lettuce和Behave同样优秀。不过,如果rf接口自动化框架你已经有了一定的Pytest经验,那么请使用Pytest-bdd。 关于rf接口自动化框架和RF自动化框架的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 rf接口自动化框架的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于RF自动化框架、rf接口自动化框架的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java HashMap 如何正确遍历并删除元素的方法小结
下一篇:php用户系统接口设计(php对接接口)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~