从零开始到设计Python+Selenium自动化测试框架-如何开始
如何开始学习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自动化测试框架-如何开始的更多相关文章
- Python selenium自动化测试框架入门实战--登录测试案例
本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁.本文应用到POM模型.selenium.unittest框架.configparser配置文件.s ...
- 《一头扎进》系列之Python+Selenium自动化测试框架实战篇6 - 价值好几K的框架,呦!这个框架还真牛叉哦!!!
1. 简介 本文开始介绍如何通过unittest来管理和执行测试用例,这一篇主要是介绍unittest下addTest()方法来加载测试用例到测试套件中去.用addTest()方法来加载我们测试用例到 ...
- python + selenium 自动化测试框架
分享一个网站自动化测试框架 结构如下: test_project|--logs|---pages |---register_page.py| |---base_page.py|---test ...
- python+selenium 自动化测试框架-学习记录
本人小白一枚,想着把学习时的东西以博客的方式记录下来,文章中有不正确的地方请大佬多多指点!!共同学习 前期准备 安装python3.selenium.下载对应版本的webdriver:安装所需的第三 ...
- Eclipse+Python+Selenium自动化测试框架搭建
1.下载Eclipse:http://www.eclipse.org/downloads/ 2.下载JDK:http://www.oracle.com/technetwork/java/javaee/ ...
- Python接口自动化测试框架实战 从设计到开发
第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的htt ...
- 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门
第1章 Selenium自动化测试框架入门 1.1 Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...
- 《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)
1.简介 前面宏哥一连几篇介绍如何通过开源jar包Log4j.jar.log4j2.jar和logback实现日志文件输出,Log4j和logback确实很强大,能生成三种日志文件,一种是保存到磁盘的 ...
- 《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
1.简介 从这一篇开始介绍和分享Java+Selenium+POM的简单自动化测试框架设计.第一个设计点,就是支持跨浏览器测试. 宏哥自己认为的支持跨浏览器测试就是:同一个测试用例,支持用不同浏览器去 ...
随机推荐
- 不该被忽视的CoreJava细节(一)
一.系列文章导言 <不该被忽视的CoreJava细节>系列文章将会持续更新.我希望自己通过这一系列文章的写作,能与读者一起进步,逐步完善对Java体系结构的了解. 二.本期关注点 几乎翻看 ...
- SQL 语句 使用附加和分离
use mastergo declare @flg int --返回0表示成功 否则表示失败declare @msg varchar(50) --显示成功或失败的消息declare @dbname v ...
- 创建1M-1T的虚拟磁盘(内存盘)——使用破解版 Primo Ramdisk Server Edition v5.6.0
破解版 Primo Ramdisk Server Edition v5.6.0下载: https://pan.lanzou.com/i0sgcne 步骤: 下载并解压后安装“Primo.Ramdisk ...
- xtrabackup支持的engine
xtrabackup支持的engine 1.InnoDB/XtraDB Hot backup 2.MyISAM with read-lock 3.Archive,CSV with read-l ...
- python request下载文件时,显示进度以及网速
import requests import time def downloadFile(name, url): headers = {'Proxy-Connection':'keep-alive'} ...
- Framework7:不会Objective-C,也能开发iOS7应用
摘要:Framework7是一款开源的轻量级HTML框架,用来创建混合或有着iOS7原生体验的Web应用.其包含HTML布局.所有基础界面.动画效果.视图以及简单的自定义样式,让你无需修炼Object ...
- highcharts与ajax的应用
整理一份完整的例子,以供参考: <1>页面chart.html: <span style="font-size:14px;"><!DOCTYPE HT ...
- C#的接口基础教程之六 接口转换
C#中不仅支持.Net 平台,而且支持COM平台.为了支持 COM和.Net,C# 包含一种称为属性的独特语言特性.一个属性实际上就是一个 C# 类,它通过修饰源代码来提供元信息.属性使 C# 能够支 ...
- windows下安装win7虚拟机并安装oracle
一.win7虚拟机 与安装linux虚拟机没有什么不同,不同的是选择客户机操作系统.内存.磁盘容量,以及映像文件. 创建win7虚拟机步骤简化: 新建虚拟机-->>自定义-->> ...
- http请求中客户端真实的ip
private String getRemoteAddr() { String ip = ""; String unknow = "unknown"; try ...