Python学习到什么程度就可以进行自动化测试了呢?

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

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

初识自动化

刚开始学自动化的时候,是跟着视频课程学习的,当时学习完用Selenium进行脚本录制之后,就觉得自动化测试好简单,录制脚本后回放脚本就行了,所以学完录制脚本之后,就没再往下继续学习,使用Selenium脚本录制的功能进行脚本的录制回放。

结果可想而知,录制脚本时,一个鼠标悬浮事件没有录制上,导致元素找不到,最终整个脚本以失败而告终。

因为随着前台开发技术的不断更新换代,并不是所有的事件、操作都能使用Selenium自动录制上,还需要我们手动处理。

定位元素

总结这次失败的教训,我继续进行视频课程的学习,学到了使用WebDriver去定位元素,之前使用Selenium录制不到的鼠标悬浮操作,用元素定位的方式也定位到了,脚本能正常跑通。

学习完本章内容后,我使用现有的知识,写了一个回归测试的脚本,包含下单、新增用户、发货等功能,基本包含了系统的主要的功能流程。

但是在写完这个脚本后,我发现,目前掌握的知识只能满足于这种简单的流程测试,就像是下单的整个流程、发货的整个流程,并不能满足我们多样化下单的需求。

比如说我这次下单要买红色L码,下次下单要买蓝色S码,如果使用我们现有的这种脚本编写方式,同一个功能,只是参数不同,我们需要重复写这一段代码,有多少用例,就要重复多少次,不仅浪费时间,而且造成了代码的冗余,而且还有参数写错的风险。

如果后期某个参数名改变,我们要把所有相关的参数名都改一遍,不利于后期代码的维护,人员成本也比较高。

自动化测试框架

接下来就进行了自动化测试框架的学习,将不同的页面、初始化方法、功能模块等分开来写,引入UnitTest进行测试用例的管理等等。引入UnitTest之后,上面提到的代码冗余的问题就得到了解决。

因为UnitTest测试框架,把功能单独写一个方法里,使用该方法时就进行方法的调用,如上述提到的下单的功能,先将功能写成一个方法,然后将不同的参数值写到测试用例集合中,每次执行测试用例,就调用下单的方法,只需更改参数,不需要重复编写代码,这也解决了参数名更改导致的脚本问题,只需要在下单方法里修改参数名,并不需要在每个测试用例里都修改一遍,节省了时间,也避免了修改不完全造成的遗漏。

问题定位及解决

当然我们应该还具备问题定位及解决的能力。因为在学习的过程中,我们完全是按照视频教程上按部就班的操作的,所以基本上不会遇到什么问题。

但是在实际的工作中应用的时候,网站是千变万化的,难免会出现这样那样的问题,比如说教程里只说了可以通过class进行元素的定位,但没有说如果一个class有多个属性名应该怎么处理,比如我们如果直接把inputstyle password这两个元素作为元素定位的标志,实践发现并不能定位到元素,从搜索引擎搜索才知道,这种的代表这个元素都多个class的属性名,我们只需选择其中一个名称进行定位即可。

诸如此类的这种小知识一般在课程里不会提到,但是是实际的工作中确实经常遇见的,所以我们还需要具备问题解决的能力,不能只局限于教程上的知识,不然自动化测试是进行不下去的。

结语

学习到此,小编认为就可以尝试进行自动化测试脚本的编写工作了。

当然,这只是基础,学习是永无止境的,想要让自己变得更优秀,让自己写的脚本更好,我们要不断的扩展自己的知识,学到这里只是起点,后面我们还有很长的路要走。

但是也不能贪多,贪多嚼不烂,只是一味的学习但不应用到实际的工作中,学习的知识很快就会忘记了,而且学习和真正应用到工作也是不一样的,因为在工作中我们会遇到各种各样的在学习中未提及的知识点,需要我们不断的去充实、巩固当前已经掌握的知识,这样才能将知识转化为自己的所有物,并将其灵活运用。

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2020-09-17 15:59:37

Java技术开发

2018-10-23 19:30:38

2020-07-28 08:41:21

Kubernetes自动化测试软件开发

2023-05-15 08:01:32

Python办公自动化

2020-11-19 08:00:03

打工人离职工作

2024-11-21 15:24:49

2022-10-17 07:16:08

SQL机器学习AI

2009-08-19 09:00:48

单元测试框架自动化测试

2024-05-31 13:09:37

2021-06-25 10:57:30

前端自动化测试开发

2012-05-24 15:01:35

James Bach测试自动化

2024-05-06 11:12:22

图像处理数学计算NumPy

2022-01-14 11:51:00

测试工具自动化

2011-05-16 15:36:00

软件测试

2021-04-13 10:20:13

Edge Canary浏览器微软

2018-07-19 06:07:22

物联网安全物联网IOT

2016-10-26 22:07:06

macaca自动化测试javascript

2016-10-26 22:24:00

macaca自动化测试javascript

2016-10-26 22:29:13

macaca自动化测试javascript

2016-10-26 22:16:48

macaca自动化测试javascript
点赞
收藏

51CTO技术栈公众号