最近有几个小伙伴在后台给安静私信说,如何学习自动化,不知道如何入手?在网上看的资料都是乱七八糟的,每天这学习一点,那里学习一点,到最后什么都没有学会。安静自己也简单的总结了一点内容,分享给大家
测试基础
要想学习自动化方面的内容,肯定需要了解到一些测试基础,如果测试基础都不是了解,如何进行书写自动化测试用例,以及设计自己的自动化框架内容
1、熟悉测试内容。
2、熟悉各个场景的测试点,以及测试方法
3、熟悉各个测试类型。
4、了解哪些用例可以实现自动化,哪些用例不可以实现自动化。(成本方面)
Python基础
想要学习自动化,首先需要选择一本代码语言,对于我们测试来说,语言基本上都是从Java和Python来选择了,安静以前学习了java的简单基础,了解到了Python后,就放弃了Java,为什么呢?因为个人觉得Python比较简单,更适合于测试来用,方便我们辅助来完成测试内容(注:没有说那个语言好,那个语言不好,勿喷!)
1、数据类型:字符串,列表,字典,元祖,布尔值
2、运算符:算法运算符,比较运算符,逻辑运算符
3、条件语句:判断语句
4、循环语句:for,while
5、文件操作:with,csv,xlwt
6、函数应用:函数内容,传参,返回值
7、类和对象:类的实例化,类的继承
8、模块:模块的分类,如何导入模块
9、异常处理:try....except
selenium
对于web自动化来说,安静这里首选的就是selenium框架,为什么呢?因为安静只会这一种。对于目前新出现的Cypress,通过JS语言来实现web自动化测试的,目前安静还没有学习过。对于我们来说,肯定是哪一种方便就使用哪一种
1、环境准备:安装浏览器驱动,以及安装selenium库。
2、定位元素:id,name,class,xpath,css
3、等待方法:强制等待,显式等待,隐式等待
4、浏览器操作方法:最大化,刷新,后退,前进,输入,退出等
5、应用操作:表单切换,弹出框操作,下拉框操作,勾选框操作。
6、鼠标操作:点击,双击,拖动,长按
7、键盘操作:组合键,单键
8、文件操作:文件上传,文件下载
9、JS语法操作:js点击,修改页面元素信息
10、多线程:操作多个浏览器执行用例
appium
对于app自动化来说,目前最最最流行的也就是appium了。
1、环境准备:安装JDK,android_sdk,appium客户端或者命令行
2、app简单操作:打开,关闭,截屏,返回,退出,滑动
3、adb命令:多用来辅助进行测试
4、元素定位:id,xpath,class,name,text,css等
5、Monkey:多用来进行压力测试。
6、原生页面和H5页面:判断H5页面和原生页面,操作H5页面
7、操作手机按键:相当于模拟手机按键
8、等待时间:和selenium一样的三种
9、多线程:多线程启动多个手机
requests
requests多用来进行接口之间的交互,也用于我们的接口自动化操作。
1、环境准备:安装python,requests
2、请求方式:get,post
3、参数关联:上一个接口的返回用到下一个接口的请求中
4、session:session关联登陆
5、状态码:重定向
6、多种数据类型:data,json,xml
7、文件操作:上传文件,下载文件
8、超时处理:请求超时异常处理
9、加密接口:请求加密接口
unittest
以上内容呢,主要是自动化中对应的方法,那么这个时候到了框架的选择了,目前市场上随随便便都能说出来几个框架,框架的选择也是新手同学们的一个困扰。既然选择了python语言,安静就用了通过unittest单元测试框架和pytest框架,目前来说pytest框架更加简单方便,更适合我们做测试,(安静这里pytest只是会一点,先不做太多介绍,后期进行补充)
1、unittest整体内容:前置,用例,后置
2、unittest使用方法:测试集,测试用例,测试套件
3、断言:通过断言来判断用例是否成功和通过
4、执行方法:单个执行,执行顺序,全部执行
5、跳过用例:通过装饰器的方法进行跳过用例
6、报告结果:unittest自带的没有html报告输出,需要插件HTMLTestRunner的帮助
7、数据驱动:ddt
安静简单的列出来一些自动化中需要用到的知识和内容,可能会有遗漏,大家可以进行下方留言进行补充。
安静也整理了一些测试资料来帮助我们学习,大家可以进行关注个人公众号,回复内容进行获取。