如何开始学习web ui自动化测试?如何选择一门脚本语言?选择什么自动化测试工具?

本人已经做测试快5年,很惭愧,感觉积累不够,很多测试都不会,三年多功能测试,最近两年才开始接触和学习自动化测试。打算写一个系列文章,关于如何从零开始到会设计和组装一个简单的web ui自动化测试框架。把文章放到这里的目的,方便以后自己记不住,回过来看看,还有就是给一些想学习web自动化测试的朋友们一些学习参考和交流,互相提高测试技能。

一. 为什么学习自动化测试

首先,你是一个测试工程师,这个问题就应该很好解答,都是被逼的,作为一个测试工程师,如果不会一点代码和脚本,很容易被开发人员鄙视,很容易被刚毕业学生的抢走工作,最后就是被淘汰,苦苦找不到理想的工作。

随便看看一个招聘网站关于测试工程师的要求,功能测试是基本要求,要会接口测试,要会自动化测试,要会性能测试,要会安全测试,要懂得持续集成,要看得懂代码,要编程能力,能通过设计开发,提高测试流程和规范,减少时间成本。上面任何一个测试领域,现在都有自动化测试工具和方法出现,只能手工测试的人来说,感觉很无奈,感觉什么都不会了。

为了延长测试职业生涯,为了更好的工作机会,开始决定学习编程,学习一点自动化测试技术。开始奋斗吧。

二. 自动化测试从什么领域开始

GUI测试 VS API测试

什么事情都是入门难,如何开始这个问题困扰了很多人,网上很容易找到如何学习和入门XX子类的提问。针对这个问题,我的答案是,选择一个方向,动手去练习。动手是最好的开始,看了很多,但是如果不去动手,去验证,去实践,结果还是什么都学不会。由于我是从web ui自动化开始学习,所以我也推荐从这个领域学习,理由主要有:基于B/S架构和移动端的软件开发实在太多,web ui自动化测试很容易入门和上手。学会了web ui自动化测试,以后手机端app 自动化测试也很容易上手。

三.为何选择Python+Selenium

选择了学习web ui 自动化测试这个方向,接下来就选择一个合适的工具或者框架,还有合适的脚本语言。选择Selenium的原因是,它是开源的,开源意味不要收费,而且使用的人越来越多,就这么简单,这里不罗列Selenium的优点。工具选好了,接下来选择一个合适的脚本开发语言。

很多人可能会很纠结,到底是选java还是python呢?我的意见是,如果你有java基础,可以选择java,如果你什么编程语言都不会,想从零开始,强烈建议选择python。会Java的人,也可以选择python,既可以学习Selenium也可以多学会一门脚本语言,感觉挺好的。

四.如何学习Python基本语法

确定了选择Python+Selenium方向后,第一件事情就是收集资料。需要收集Selenium的介绍文档,Python语言基础入门学习文档。只有学会了Python基本语法,你才可以开始学习编写脚本。

Python 入门资料:

1.  笨方法学Python.pdf(强烈推荐)

有中文版和英文版,建议研读和动手操作,至少学习到第44个练习(目录参考英文版),大概是面向对象和继承介绍。

2.  一个小时Python入门视频教程

https://python.freelycode.com/train/start0

入门资料不要太多,这两个足够你很好学习和入门,最好两个交替进行,pdf看累了,看看视频,视频讲的太简单了,回过去看pdf,查看和学习相关概念。

Selenium介绍文档:

1.    官网介绍(需要FQ): http://www.seleniumhq.org/

2.    Wiki介绍: https://en.wikipedia.org/wiki/Selenium_(software)

3.    百度百科搜索:Selenium

欢迎关注老王公众号

从零开始到设计Python+Selenium自动化测试框架-如何开始的更多相关文章

  1. Python selenium自动化测试框架入门实战--登录测试案例

    本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁.本文应用到POM模型.selenium.unittest框架.configparser配置文件.s ...

  2. 《一头扎进》系列之Python+Selenium自动化测试框架实战篇6 - 价值好几K的框架,呦!这个框架还真牛叉哦!!!

    1. 简介 本文开始介绍如何通过unittest来管理和执行测试用例,这一篇主要是介绍unittest下addTest()方法来加载测试用例到测试套件中去.用addTest()方法来加载我们测试用例到 ...

  3. python + selenium 自动化测试框架

    分享一个网站自动化测试框架 结构如下: test_project|--logs|---pages |---register_page.py|      |---base_page.py|---test ...

  4. python+selenium 自动化测试框架-学习记录

     本人小白一枚,想着把学习时的东西以博客的方式记录下来,文章中有不正确的地方请大佬多多指点!!共同学习 前期准备 安装python3.selenium.下载对应版本的webdriver:安装所需的第三 ...

  5. Eclipse+Python+Selenium自动化测试框架搭建

    1.下载Eclipse:http://www.eclipse.org/downloads/ 2.下载JDK:http://www.oracle.com/technetwork/java/javaee/ ...

  6. Python接口自动化测试框架实战 从设计到开发

    第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的htt ...

  7. 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门

    第1章  Selenium自动化测试框架入门 1.1  Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...

  8. 《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)

    1.简介 前面宏哥一连几篇介绍如何通过开源jar包Log4j.jar.log4j2.jar和logback实现日志文件输出,Log4j和logback确实很强大,能生成三种日志文件,一种是保存到磁盘的 ...

  9. 《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)

    1.简介 从这一篇开始介绍和分享Java+Selenium+POM的简单自动化测试框架设计.第一个设计点,就是支持跨浏览器测试. 宏哥自己认为的支持跨浏览器测试就是:同一个测试用例,支持用不同浏览器去 ...

随机推荐

  1. DBA的做法

    防止有人删除数据库,创建一个触发器当数据库被删除是发送一份邮件给管理员并撤销这个命令. Create trigger [tridbsafe]ON ALL SERVERFOR DROP_DATABASE ...

  2. hbase查询语法

    1.scan '表名',{FILTER=>"PrefixFilter('rowkey值')"} scan 'useractions',{FILTER=>"Pr ...

  3. Js面向对象之观察者模式

    //模拟一个目标可能拥有的一些列依赖 function ObserverList() { this.observerList = []; }; //添加一个观察者 ObserverList.proto ...

  4. coursera_ML_1

    机器学习定义: A  computer program is said to leran from experience E with respect to some task T and some ...

  5. SpringMVC+Hibernate框架快速搭建

    1.  新建Maven项目springmvc 2.   pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  6. javaweb基础(30)_EL函数库

    一.EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 这些EL函数在JSTL开发包中进行描述,因此在JSP页 ...

  7. Java设计模式学习——设计原则

    第一章 设计原则 1.开闭原则 一个软件实体,像类,模块,函数应该对扩展开放,对修改关闭 在设计的时候,要时刻考虑,让这个类尽量的好,写好了就不要去修改.如果有新的需求来,在增加一个类就完事了,原来的 ...

  8. Excel自动从身份证中提取生日、性别、年龄

    现在学生的身份证号已经全部都是18位的新一代身份证了,里面的数字都是有规律的.前6位数字是户籍所在地的代码,7-14位就是出生日期.第17位“2”代表的是性别,偶数为女性,奇数为男性.我们要做的就是把 ...

  9. LeetCode954二倍数对数组

    问题:二倍数对数组 给定一个长度为偶数的整数数组 A,只有对 A 进行重组后可以满足 “对于每个 0 <= i < len(A) / 2,都有 A[2 * i + 1] = 2 * A[2 ...

  10. 设置虚拟机里的Centos7的IP

    输入ip查询命名 ip addr  也可以输入 ifconfig查看ip,但此命令会出现3个条目,centos的ip地址是ens33条目中的inet值. 发现 ens33 没有 inet 这个属性,那 ...