测试小白学习Python到什么地步才可以做自动化?

发表于:2022-5-30 09:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:CICI    来源:51Testing软件测试网原创

  关于自动化的学习,一直是大家关注的话题,那么Python学习到什么程度就可以进行自动化测试了呢?下面结合我自身的学习历程跟大家分享一下。

  初识自动化
  刚开始学自动化的时候,是跟着视频课程学习的,当时学习完用Selenium进行脚本录制之后,就觉得自动化测试好简单,录制脚本后回放脚本就行了,所以学完录制脚本之后,就没再往下继续学习,使用Selenium脚本录制的功能进行脚本的录制回放。
  结果可想而知,录制脚本时,一个鼠标悬浮事件没有录制上,导致元素找不到,最终整个脚本以失败而告终。
  因为随着前台开发技术的不断更新换代,并不是所有的事件、操作都能使用Selenium自动录制上,还需要我们手动处理。

  定位元素
  总结这次失败的教训,我继续进行视频课程的学习,学到了使用WebDriver去定位元素,之前使用Selenium录制不到的鼠标悬浮操作,用元素定位的方式也定位到了,脚本能正常跑通。
  学习完本章内容后,我使用现有的知识,写了一个回归测试的脚本,包含下单、新增用户、发货等功能,基本包含了系统的主要的功能流程。
  但是在写完这个脚本后,我发现,目前掌握的知识只能满足于这种简单的流程测试,就像是下单的整个流程、发货的整个流程,并不能满足我们多样化下单的需求。
  比如说我这次下单要买红色L码,下次下单要买蓝色S码,如果使用我们现有的这种脚本编写方式,同一个功能,只是参数不同,我们需要重复写这一段代码,有多少用例,就要重复多少次,不仅浪费时间,而且造成了代码的冗余,而且还有参数写错的风险。
  如果后期某个参数名改变,我们要把所有相关的参数名都改一遍,不利于后期代码的维护,人员成本也比较高。
  自动化测试框架
  接下来就进行了自动化测试框架的学习,将不同的页面、初始化方法、功能模块等分开来写,引入UnitTest进行测试用例的管理等等。引入UnitTest之后,上面提到的代码冗余的问题就得到了解决。
  因为UnitTest测试框架,把功能单独写一个方法里,使用该方法时就进行方法的调用,如上述提到的下单的功能,先将功能写成一个方法,然后将不同的参数值写到测试用例集合中,每次执行测试用例,就调用下单的方法,只需更改参数,不需要重复编写代码,这也解决了参数名更改导致的脚本问题,只需要在下单方法里修改参数名,并不需要在每个测试用例里都修改一遍,节省了时间,也避免了修改不完全造成的遗漏。

  问题定位及解决
  当然我们应该还具备问题定位及解决的能力。因为在学习的过程中,我们完全是按照视频教程上按部就班的操作的,所以基本上不会遇到什么问题。
  但是在实际的工作中应用的时候,网站是千变万化的,难免会出现这样那样的问题,比如说教程里只说了可以通过class进行元素的定位,但没有说如果一个class有多个属性名应该怎么处理,比如我们如果直接把inputstyle password这两个元素作为元素定位的标志,实践发现并不能定位到元素,从搜索引擎搜索才知道,这种的代表这个元素都多个class的属性名,我们只需选择其中一个名称进行定位即可。
  诸如此类的这种小知识一般在课程里不会提到,但是是实际的工作中确实经常遇见的,所以我们还需要具备问题解决的能力,不能只局限于教程上的知识,不然自动化测试是进行不下去的。

  结语
  学习到此,小编认为就可以尝试进行自动化测试脚本的编写工作了。
  当然,这只是基础,学习是永无止境的,想要让自己变得更优秀,让自己写的脚本更好,我们要不断的扩展自己的知识,学到这里只是起点,后面我们还有很长的路要走。
  但是也不能贪多,贪多嚼不烂,只是一味的学习但不应用到实际的工作中,学习的知识很快就会忘记了,而且学习和真正应用到工作也是不一样的,因为在工作中我们会遇到各种各样的在学习中未提及的知识点,需要我们不断的去充实、巩固当前已经掌握的知识,这样才能将知识转化为自己的所有物,并将其灵活运用。

  版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号