首先你得会python编程语言,需要花一两周时间学习一下python编程基础,python编程基础一般包含那些内容呢?
1. Python的简介以及python的安装以及环境的搭建。
2. Python编码规范、数据类型的学习.
3. Python常用控制语句和语法的学习.
4. Python面向对象编程.
5. Python函数应用
6. Python图形界面介绍GuiTkinter
7. Python异常处理与输入输出
8. Pyhon编程项目实践
具备了一定的编程经验后,接下来借助自动化工具展开测试。
其次:学习一门自动化测试工具,基于web测试最常见的工具有:selenium,基于App测试的有:Appium测试工具,这两款测试工具分别用于于移动端与web端做自动化测试,借助Python语言或者JAVA语言开展自动化测试。
学习Selenium测试工具我们需要学习那些知识?
搭建自动化测试环境
1. 将driver和seleniumjar包拷贝到lib文件夹下。
2. 配置构建路径,添加selenium的jar包
3. 配置火狐浏览器启动路径,以及driver的路径。
基于自动化测试环境编写关键字方法,使用关键字驱动脚本执行自动化测试。
将测试过程中一些常用的操作封装为方法关键字,方便之后的脚本进行调用。使脚本管理更加具有逻辑性,并且维护更加方便。
编写关键字数据驱动的作用:使用关键字能够让脚本可读性更高,更富有逻辑性,便于维护。
再次:对于前端页面的WEB自动化测试核心内容在于元素封装。
元素定位方法详解:
1.确定你想要操作的元素,除非有一些特殊场景,需要批量操作类似元素。
2.元素以开头,以作为结尾。
3.元素层级关系:父元素、子元素、兄弟元素。
定位元素时常用的方法有:
·id :唯一识别元素的属性。
·name :名字。
·linktext:根据超链接全文本进行定位,精确匹配。
·partiallinktext:模糊匹配,以超链接部分文本进行定位。
用于借助超链接文本进行定位,只适用于a标签。
·classname:妆容。CSS样式的名称。
·tagname:元素名。相当于人的分类。
元素定位方法如下图所示:
最后:基于python语言和selenium测试工具编写自动化测试脚本,生成自动化测试报告如下图所示:
自动化测试的主流框架有哪些?
自动化测试的主流框架有哪些?
自动化测试框架分类,根据功能平台来划分:
1. 基于前端的WebUI框架:Junit、TestNG、自定义框架,咱们主要以自定义框架来演示。
基于Selenium自动化测试工具前端的WebUI测试框架,主要使用关键字驱动与数据驱动来实现自动化测试。
什么是关键字驱动?
1. 将测试过程中一些常用的操作封装为方法关键字,方便之后的脚本进行调用。使脚本管理更加具有逻辑性,并且维护更加方便。
2. 使用关键字能够让脚本可读性更高,更富有逻辑性,便于维护,执行更顺畅。
什么是数据驱动?
通过读取excel编写的用例,调用关键字执行,让用例的管理和执行更加简便和规范。
2. 基于接口的自动化测试框架
一般来说接口测试开源框架各类繁多,但是如果使用开源框不够灵活,所以本人是以自主开发框架内容来演示,当然大家也可以去搭建开源的测试框架例如:jmeter+ant+jenkins这种类似于postman+ant+jenkins的测试框架,他们也能帮助我们提升工作效率,只是在使用容易受限,即然是开源的一般都是适用于大众的,但是会存在一些缺点就是个性的需求无法满足要求,所以有能力的建议自研框架。
使用excelwriter时,做完操作之后一定记得使用save函数将内存中的内容写进文件,否则文件当中没有变化。
3. 基于APP的单元测试框架。
App测试咱们也使用关键字数据驱动来编写测试框架,当然基于App测试你可以使用java或python语言来开发框架,基于App框架与WebUI 自动化测试框架类似,RobotFramWork+Appium项目实操,都是基于元素的操作进一步封装方法,从而调用方法。基于Python语言有unittest框架与pytest框架各自随需要而选择。
如何学习软件测试开发?
软件测试开发工程师是需要懂2门语言的。
第一门,推荐Python。Python是做自动化工作首选的一门语言,所以Python是第一位的。
第二个语言,当你软件测试做到一定程度的时候,除了测试,你还需要做一些拓展。可以在研发角度,去影响研发团队提高质量,还可以从运维和线上角度,去影响运维和线上用户,然后去分析更好的质量。
如果要做这两个事情,只靠Python,就有些乏力了,所以Python之后可以走2个方向,一个是Java,一个是go。
要注意一点,测试开发的核心职能依然是测试。
只是工程师在具备测试经验、熟练使用测试工具并有一定开发能力的前提下,可以自主开发平台,或对现有开源工具进行二次开发,最终目的是提升产品测试效率。
一般我们常说的测试人员其实是不需要有太强的编程技术,普通应用或是代码段能看懂就行。而测试开发人员需要写测试工具,自动化测试代码,具备一定的开发编码能力,虽然不像开发那样深入地掌握一种编码语言,但对于脚本语言还是要有所掌握,比如:Java、Python、php、shell、有时也需要会c、c++、ruby等编程语言。
这些技能要求都可以通过自学或是培训机构达到的。