沉醉:基于RF的自动化测试实践
2017年1月19日晚,沉醉带来了主题为“如何使用Python实现自动化测试“的Chat交流,以下为主持人小冰记录的作者和读者间的交流实录。
问:想了解有没有一些可以参考仿照做的案例分享,希望三个平台各来一个例子。
答:这是两个一样的问题 ,RF所做的层次主要会分三个方面WEB,API,APP这三个层面,APP的代码样例已经给大家了,其余会给大家截图,示例代码是最基本的代码。
接口代码样例
web端代码样例
分别是web的基于selenium api、基于http APP的代码样例。
问:想问下RF的关键字那些是怎么定义?
答:是对应Pythonapi进一步封装。
问:RF里面的测试样例有没有版本控制? RF的测试报告样例是怎么样的,里面的错误提示?
答: 版本控制是针对代码的svn是版本控制的工具,可以控制RF的代码版本。
问: 请问selenium用java结合testing来做的话,具体要怎么开展,也可以结合rf吗?eclipse更合适还是idea更合适呢?可不可以讲解一下jenkins与selenium的具体结合?
答:我是Python系的 Java问题我不做回答。
Jenkins可以和RF结合的,RF可以和selenium结合。Jenkins有对应RF插件可以实现。Jenkins+RF+selenium是很好实现的,但是重点是你执行节点机环境这个是个痛点。
问: 想问一个自动化项目具体要怎么开展?先封装api,再按模块来写页面对象,准备测试数据,最后写测试用例这样可以吗?
答:针对这个问题,自动化测试,应该先从接口测试开始,这个做起来简单而且成效快,不要盲目就开展UI这个意义不大,而且也看不出来什么效果在短期内。RF有有一种设计理念是webpage 设计理念很好的方法。
对页面做为一个测试的对象,测试数据怎么准备这个问题,最好的方法要开发一个身份证手机号的随机生成脚本,生成自己的测试数据集合,在项目中使用这样很方便。这样不用怎么维护测试数据,成本低。
问:自动化测试用例每个用例只测一个功能比较好还是多个主干功能都写在同一个用例好呢?自动化测试用例怎样管理和维护,一个具体的自动化项目如何规范化和标准化?
答:用例细化最好,常见的业务写成能偶调用的方法最好。能够在其他的场景调用。RF的代码是TXT配置文件,管理可以用svn之类的版本控制工具。代码有规范,RF的规范是很好制定的。看接口的图片上就有我们的样例。
问: 请问selenium,jemeter和badboy的区别?
答:selenium是web自动化,jmeter是性能测试工具,badboy可以录制http交互,然后到出到jmeter,可以说是个录制工具。
问:1)作为薄弱代码基础的测试,如何高效率的开展自动化测试,是否还适合文中讲的这个架构;2)需求变更版本迭代频繁的项目,是否需要进行自动化测试,需要进行的话,从哪里开始入手;3)自动化用例的编写方面,如何设计可以提高用例的使用率,降低维护成本;4)想了解下,安卓和iOS两个系统,在进行自动化测试时,是否有区别,会有哪些相同点和不同点。
答:1)RF很适合你的这种情况,他是一个关键字驱动 的测试框架,而且是对一些调用的方法是进一步封装,熟悉关键字,就能够实现自己的业务场景的自动化。
2)从接口测试入手是不错的选择。UI变动比较大,接口是相对比较稳定的。也是比较实用的,所以建议先做接口,以后再做UI。
3)参考关键字驱动和数据驱动这样结合,代码和数据分离,RF可以完美的实现这一点。
4)最好选择一个共同的框架,appium就是最好的选择,相同点基本上都是实现元素对象定位,来控制控件,不同点 实现控件操作,不同点一些调用方法是不同的,但是基本上是一样,RF封装好的关键字还是很容易使用的。
问: 想了解下自动化测试中,该如何处理数据以及数据库依赖的问题?
答:有些数据,如账号,身份证之类的要做一下测试数据集合,每次跑完就废掉这条数据,然后不用,关于数据库的关联主要是针对,对数据的验证方面。这样就能够摆脱对数据库的依赖。
问: 1)感觉对rb的介绍太少了,希望您能多介绍一下实际案例。 2)如何看待在一个产品开发初期自动化测试加入的必要性?因为您也提到了无论如何这都是时间的投入,就像我们解决code smell时,有些重复的工作没有超过2次程序员是不理解为什么要重构的,那么对于测试人员来说他也可能认为在产品初期不值得做自动化测试。
答: 1)实际APP的代码发到群里面了,还是更详细的,这个公司的代码得需要处理一下,才可以给你们。
2)接口测试上边已经讲解了重要性,初期是可以做接口,如果你以一个自动化身份进公司,不做自动化,就是没意义的,接口是最好的切入点。
问: RF需要结合selenium和urllib一起使用吗? RF可否实现系统漏洞的测试,需借助什么工具?开发团队中推广单元测试的经验,以及测试工作与质量控制结合的经验。
答: RF 是可以结合使用selenium和url 的RF有一种应用方式是自己写系统关键字的方法,就是把常见的 东西封装成一个类导入RF,RF安全测试是做不了的。
单元测试感觉还是开发来做最好,咱们来做还是有障碍的,测试去熟悉开发的代码是费时间的,你可以搞一下静态代码扫描这方面来推进单元测试,其实就是监督开发写单元测试。
问: RF在什么情况下不适合,有什么缺点,RF怎么结合做接口自动化?
答: RF是python 写的框架运行还是比较慢的,而且RIDE也有一些bug。
接口测试实现看截图。主要是原理 requests实现的接口,感觉只要是你能用Python实现的测试,RF都可以做测试。
问:RF里面的测试样例有没有版本控制? RF的测试报告样例是怎么样的,里面的错误提示?
答: RF 代码是配置文件,可以用版本v管理软件实现。报告是这样的。
问: UI自动化在产品成熟的时候才适合做吗?PC端的UI自动化和移动端的UI自动化有什么主要区别?
答:UI稳定的时候,但是UI没有真正的稳定,所以最好只做关键流程的UI脚本,这样才能实现UI价值。区别,实现框架都不同,原理都不同,相同的是元素定位这方面。
问:可以介绍一下主要的商业自动化测试工具和开源自动化测试工具吗?
答:商用自动化主流是QTP开源就多了份web的 selenium app的 appium很多。
问: test和QA的关系呢?怎样才能更好的QA?
答:QA推的质量体系,test是测试者。这是我的理解,做好QA做好事先要懂得质量体系。做出质量流程,测试。
(以上内容转自GitChat,版权归GitChat所有,转载请联系GitChat,微信号:GitChat,原文:《沉醉:基于RF的自动化测试实践》)
本文转载自异步社区。
原文链接:https://www.epubit.com/articleDetails?id=NC7E3EF92F2F0000168391C401AF0182A
- 点赞
- 收藏
- 关注作者
评论(0)