如何开始学习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. SqlServer图形数据库初体验

    SQL Server2017新增了一个新功能叫做图形数据库.图形指的拓扑图形,是一些Node表和Edge表的合集,Node对应关系数据库中的实体,比如一个人.一个岗位等,Edge表指示Node之前的关 ...

  2. 转 zigbee学习笔记---Channel、PANID、发射功率及其它参数

    现对z-stack里几个网络参数的设置以及如何获取总结一下.信道配置:Zigbee在3个频段定义了27个物理信道:868MHz频段中定义了1个20Kb/s信道,915MHz频段中定义了10个40Kb/ ...

  3. 倍增LCA

    前言 在做树上问题时,我们经常会遇到 \(LCA\)(最近公共祖先)问题.曾经的我遇到这类问题只会\(O(n)\)暴力求解,学了倍增\(LCA\),就可以\(O(logn)\)解决了. 简介 倍增\( ...

  4. 动态规划专题(二)——树形DP

    前言 \(DP\)这东西真的是博大精深啊...... 简介 树形\(DP\),顾名思义,就是在树上操作的\(DP\),一般可以用\(f_i\)表示以编号为\(i\)的节点为根的子树中的最优解. 转移的 ...

  5. 第五章 javascript编程可养成的好习惯

    用户点击某个链接时弹出一个新窗口javascript使用window对象的open()方法来创建新的浏览器窗口,这个方法有三个参数:window.open(url,name,features)url: ...

  6. 基于CXF开发crm服务

    1 基于CXF开发crm服务 1.1 数据库环境搭建 1.2 web项目环境搭建 第一步:创建动态web项目 第二步:导入CXF相关jar包 第三步:配置web.xml <context-par ...

  7. 循环 -----JavaScript

    本文摘要:http://www.liaoxuefeng.com/ JavaScript的循环有两种,一种是for循环,通过初始条件.结束条件和递增条件来循环执行语句块: var x = 0; var ...

  8. 黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:

    package com.swift; import java.util.Arrays; public class ArrayTest { public static void main(String[ ...

  9. 多种语言书写 “ HelloWorld ”

    最基本的C: #include<stdio.h> int main(int argc, char const *argv[]) { printf("HelloWorld\n&qu ...

  10. MySQL - FIND_IN_SET 函数使用方法

    SELECT * FROM xxxTableName x WHERE FIND_IN_SET(x.id, '1,2,3,4,5,6,7,8');   如上查询,意为:xxxTableName 表中 x ...