现在大家去找工作,反馈回来的基本上自动化测试都是刚需!没有自动化测试技能,纯手工测试基本没有什么市场。
但是很多人怕代码,觉得自动化测试就需要代码!代码学习起来很难! 当然代码学习不难,只要有好的学习方法!不过对于目前很多不会代码的同学,我今天要给大家讲一个自动化测试框架,就是不会代码也能做的自动化测试:RobotFramework框架。
可以作为公司要做自动化 不会代码的 临时和紧急情况的替代方案。解一时之需。
你自己不会,你就站在巨人的肩膀上前进,这个RF就是一个巨人。
这是一个别人用Python代码封装的一个的工具和框架。底层是Python代码,提供了非常丰富的关键字,直接可以实现自动化代码想要实现的功能。这些关键字只需要做表格填空就可以了。
所以Robotframework有它得天独厚的优势:
这也就是导致很多没有自动化团队的公司会选择这个工具做自动化测试。
其实做自动化侧测试就是把手工测试的行为和动作 转化为代码和工具。所以,他的测试步骤和基本思路是一致的。只是手段切换成工具和代码而已。
我们以电商项目为例: 现在要做两条用例:
第一步:准备好测试数据和用例
第二步:执行测试,页面点击操作
第三步: 检查测试结果,也叫做断言,验证是否通过
如果通过页面点击效率太低了,而且现在纯页面点工没有市场了。所以,为了提高测试的效率,也为了提高自己的价值,我们需要把以上的手工点击操作进行自动化测试实现。
RF要做UI自动化 需要借助一个功能库:SeleniumLibrary :
安装 pip install SeleniumLibrary
导入到RF的testsuite里。
先创建一个testcase,命名为【登录】,然后用关键字编写:
直接使用两个关键字就可以实现: Open Browser, Maximize Browser Window。
2)输入用户名和密码的位置,就需要进行元素定位了:RF也支持八大元素定位的方法,比如xpath元素定位。
3)断言:判断是否登录成功。使用断言相关的关键字就可以实现。
点击运行,看效果以及结果展示:
然后RF之所以成为一个测试框架,是因为提供了非常非常详细的框架必备的东西: 测试报告 和日志。
这样,我们就完成了一个最基本你的用例的编写。
新建一个新的testcase,写第二条测试用例:搜索商品,检查搜索结果。
以上是等待类的关键字,如果页面加载需要时间,就可以用等待的关键字加一个等待元素可见再操作。
实现了基本的功能之后,我们再去优化脚本 :
除了打开浏览器,前置里其实还想最大化浏览器,这样多个功能,都要在一次性执行完,可以进行封装。
用户名 密码 验证码 还有搜索的关键字等这些信息,是会变化的,这种变化的数据不能写死在脚本里,需要进行参数化。
在用例里就可以进行参数的调用了:
这样我们就可以用RF实现一个基本的框架搭建跑UI自动化测试了。
当然,这个RF框架自动化简单 好上手,能够帮助我们的不会代码 但是又要做自动化测试的同学 解决燃眉之需。
但是工具自动化可以算是初级自动化,一方面不值钱,另外一方面也有很多局限性:
所以,综上所述,要在企业独立做自动化测试并落地到项目,最好还是使用代码自己搭建框架,这也是企业对于自动化测试工程师的基本要求。