在我之前的工具经历中,一直使用Java和shell以及少量js作为辅助测试的编程语言,最近一两年开始大量的使用Python作为主要的测试开发语言,无论是UI自动化开发还是接口测试开发基本都会有教程推荐Robot framework作为主要开发框架使用,搜索下网络也的确存在大量的教程,但是存在的大多数就是正确的嘛?下文我说下标题说代表的原因。
基于我们的测试工作,做PC UI自动化一般都是web自动化,web自动化使用selenium框架,调用api进行开发;无线移动端的APP自动化一般使用Appium框架;接口自动化一般调用requests库进行开发,这些库都是有专门团队进行开发和维护,基本上拿来主义就行,也都提供了Python接口封装,这时候如果要使用Robot framework(后续简称RF)一起工作,就要对这些框架库再进行一次封装才能使用,这是非常不方便的,虽然现在也有一些现成的二次封装供使用,但是这些二次封装的质量以及接口文档使用说明都很难保障,出了问题很难快速排查
RF本身没有图形界面编写代码软件,需要另外安装RIDE,坑爹的这货只支持python2.7版本,RF本身支持到了python3.3,本身对语言本身支持情况还待检验。
软件编程风格如打开浏览器,RF如下编码:
*** Settings ***Documentation A test suite with a single test for valid login....... This test has a workflow that is created using keywords in... the imported resource file.Resourceresource.robot*** Test Cases ***Valid LoginOpen Browser To Login Page Input Username demo Input Password mode Submit Credentials Welcome Page Should Be Open
[Teardown]Close Browser
可以看到纯文本格式的代码,如果要做到PO模型编码,也会很困难,还有一点很重要,编码之后从来不是一蹴而就的,需要大量的调试和测试,用RF根本无法做到单步调试,只能无休止的log打印,如果再遇到个for循环,基本就累死了。
至于官网还介绍的测试报告,pytest、unittest这些框架也都提供了不错的报告界面。
RF作为一个框架还是非常优秀的,整个框架的设计也是做了分层处理,目标简化使用人员的入门难度,但是对于大部分要进行测试开发的同学来说,再只会页面点点,是无法适用未来的工作岗位的。
用Python的宗旨是 人生苦短,我用Python,其实Python语言入门很简单,基本上一个礼拜就可以入门,RF虽然提供一个封装好了大部分关键字的库,但是安装了Pycharm或者visual studio code 也可以很快就入手这些库,更关键的是可以使用python原生提供的各种方法,也可以调试各种代码。同时也可以锻炼自己的编程能力,何乐而不为呢。
在选择工具时,不妨遵循奥卡姆剃刀原则
领取专属 10元无门槛券
私享最新 技术干货