python自动化测试系列教程
随着互联网产品更新迭代加快,Web 开发和测试的需求也越来越大。很难想象,如果阿里的双 11、京东的 618,这些庞大繁杂的系统,由工程师们一个个手动测试,将会是一个怎样费时费力、成本巨大的工程。
也因此,自动化测试就成为每个研发团队的必要需求。在众多工具中,Selenium 可谓是备受欢迎的,作为 Web 应用程序自动化测试工具,它可以直接驱动浏览器,模拟真正的用户操作,帮助测试人员解决回归测试和多浏览器兼容性测试的问题,提升测试效率。
可以说,Selenium 已经是 Web 自动化测试领域的事实标准,它是怎么做到的呢?我想有这几个原因:
免费并且开源。Selenium 是一款开源软件,任何单位和个人都可以免费使用,甚至可以和:HP 的 QTP、IBM 的 RFT 等付费软件相媲美;
无操作系统和浏览器限制。像 Windows、MACOS、Linux、IOS 等操作系统和 IE、Chrome、Firefox、Safari 等浏览器,都能支持;
支持多种编程语言。包括:Python 、Java、JavaScript 、Perl、PHP、Ruby、C# 或 .Net。
Selenium 与其他工具可以轻松集成。这些工具主要包括 unittest、pytest、Junit、TestNG、Maven、Jenkins 等。通过这些开源项目的集成,可以轻松实现单元测试、集成测试、项目管理,项目的持续集成和交付;
并行和分布式测试。通过使用 Selenium Grid 可以实现分布式并行测试。
具备这些优势,Selenium 已经逐步成为 Web 自动化测试人员的首选,而且如果你打开招聘网站上对测试工程师的要求,就会发现,掌握 Selenium,已经慢慢成为各互联网公司测试招聘中的一项必备技能了。
然而,想在实际工作中把 Selenium 的作用发挥到极致,还是挺难的,常常出现一些共性的难点,比如:
如何多环境配置 Selenium,包括不同的操作系统和浏览器驱动;
如何让 Selenium 和其他软件的配合使用,包括:单元测试、日志系统、数据库等;
怎么快速理解和掌握数据驱动的测试、POM 设计模式;
如何将 Selenium 集成到 Jenkins,实现持续集成和交付;
....
为了让你清晰掌握 Selenium 的整体框架,这里有一份我收藏的 Selenium 学习核心要点图,可以帮你深入掌握 Selenium 的每个知识点。

这个思维导图出自极客时间的视频课程——《Selenium 自动化测试实战》,以项目驱动,带你深入理解 Selenium 的运行原理和实战技巧,掌握 unittest、pytest、DDT、POM 迭代测试方法,在实际工作中,真正将 Selenium 的作用发挥到极致。
专栏共 69 讲,现在有个限时优惠活动,原价199的课程,极客时间新用户低至三折入手,仅 ¥68,非常划算。

极客时间新用户三折特惠
仅需 ¥68,搞定自动化测试
专栏作者是郭宏志,享学志成科技创始人兼 CEO。一名 70 后的 IT 老兵,同时担任奇虎 360 特邀内训讲师,华为终端安全技术顾问。
曾出版过《JavaEE 实战》、《Android 应用开发详解》、《iOS 应用开发详解》、《Cocos2dx 游戏开发详解》等畅销书籍,在 Python 技术栈、Java 技术栈、数据库、移动开发、自动化测试等领域有过多年实战经验。
作为从业 20 多年的开发老兵,又做过特训讲师,多年的磨练,也让他知道如何把高深的技术,讲得的通俗易懂,如何真正做到授之以渔。
为了能让同学们夯实基础,稳步进阶,他将课程分成了三部分:
第一部分:夯实基础。他将为你介绍自动化测试与 Selenium,并带领你搭建开发环境,实操讲授 Selenium 的核心技术及 Selenium IDE 的用法。通过第一部分的学习,带你深入 Selenium 的核心思想,让你编写测试用例更加得心应手。
第二部分:项目实战。这一部分将主要通过项目驱动的讲解方式,从需求分析和用例设计开始,通过 unittest、pytest、DDT、POM 这 4 种测试方法的不同迭代,让你从容应对不同的测试需求。
第三部分:进击高阶。他将带你使用 Selenium Grid 实现分布式测试,同时为你讲述 Selenium 分布式测试和如何集成到 Jenkins。透彻掌握持续集成和交付,让你和同事之间的项目协同更加流畅、省时和高效。
提醒一下,他在课程中使用的是 Python 作为开发语言,所以需要大家掌握基本的 Python 编程语法。
更详细的内容,可以看看目录:

再说一遍优惠:
视频课原价 199 元
极客时间新用户仅需 ¥68
低至 3.4 折

专栏结束语里看到一个哥们说“终于学完了,理论知识体系与深度都有,剩下的就是自己多练了…”确实,做是最好的学,把学到的知识多用公司的项目去实践才是成长的关键。
点击「阅读原文」
新用户低至¥68,搞定Selenium
去试读
点这里
python自动化测试系列教程的更多相关文章
- python基础系列教程——Python中的编码问题,中文乱码问题
python基础系列教程——Python中的编码问题,中文乱码问题 如果不声明编码,则中文会报错,即使是注释也会报错. # -*- coding: UTF-8 -*- 或者 #coding=utf-8 ...
- python基础系列教程——Python3.x标准模块库目录
python基础系列教程——Python3.x标准模块库目录 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata ...
- python基础系列教程——Python库的安装与卸载
python基础系列教程——Python库的安装与卸载 2.1 Python库的安装 window下python2.python3安装包的方法 2.1.1在线安装 安装好python.设置好环境变量后 ...
- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda
---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...
- Python基础教程系列目录,最全的Python入门系列教程!
Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在现在的工作及开发当中,Python的使用越来越广泛,为了方便大家的学习,Linux大学 特推出了 <Python基 ...
- selenium+python自动化测试系列(一):登录
最近接手商城的项目,针对后台测试,功能比较简单,但是流程比较繁多,涉及到前后台的交叉测试.在对整个项目进行第一轮测试完成之后,考虑以后回归测试任务比较重,为了减轻回归测试的工作量,所以考虑后台 ...
- python 爬虫系列教程方法总结及推荐
爬虫,是我学习的比较多的,也是比较了解的.打算写一个系列教程,网上搜罗一下,感觉别人写的已经很好了,我没必要重复造轮子了. 爬虫不过就是访问一个页面然后用一些匹配方式把自己需要的东西摘出来. 而访问页 ...
- Appium python自动化测试系列之移动自动化测试前提(一)
1.1 移动自动化测试现状 因为软件行业越来越发达,用户的接受度也在不断提高,所以对软件质量的要求也随之提高,当然这个也要分行业,但这个还是包含了大部分.因为成本.质量的变化现在对自动化测试的重视度越 ...
- Appium python自动化测试系列之appium环境搭建(二)
2.1 基础环境搭建 当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下: 1.因为appium是支持andr ...
随机推荐
- awk内置函数、外部变量
外部变量 ①获取外部变量 格式: awk '{action}' 变量名=变量值 ,这样传入变量可以在action中获得值. 示例: test='awk test'--day-5 外部变量 ①获取外部变 ...
- BetterScroll源码阅读顺便学习TypeScript
开头 TypeScript已经出来很多年了,现在用的人也越来越多,毋庸置疑,它会越来越流行,但是我还没有用过,因为首先是项目上不用,其次是我对强类型并不敏感,所以纯粹的光看文档看不了几分钟就心不在焉, ...
- 【Python】和【Jupyter notebook】的正确安装方式?
学了那么久Python,你的Python安装方式正确吗?今天给你看看什么才是Python正确的安装方式,教程放在下面了,喜欢的记得点赞. Python安装 Python解答Q群:660193417## ...
- gitlab和jenkins做持续集成构建教程
背景介绍 上一个轮回,我花了三篇文章的时间着重向大家介绍了在条件有限的情况下,如果优雅地进行前端发版和迭代.庆七一,热烈庆祝香港回归,人民生活水平越来越好,昨天上午我自掏腰包买了台服务器,决定由冷兵器 ...
- C语言-数据结构-结构体
一.结构体的定义 数组(Array)是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组 ...
- SpringBoot之MongoDB附件操作
前言 近期自己针对附件上传进一步学习,为了弥足项目中文件上传的漏洞,保证文件上传功能的健壮性和可用性,现在我将自己在这一块的心得总结如下: 一.pom.xml依赖的引入 <dependency& ...
- e.printStackTrace() 原理的分析
e.printStackTrace(); 先查看下源码 如图片中1所示,使用的是 PrintStreamOrWriter public void printStackTrace() { printSt ...
- Linux学习系列--用户(组)新增、查看和删除
在实际的工作中,在接触Linux的用户组管理的时候,一般来说都是在系统开建设的时候设置好,root权限由特定的负责人保管用户密码,避免误操作带来不必要的麻烦. 在具体使用的时候,会利用相关的命令设置一 ...
- 转:windows下定时执行备份数据库
上一篇写了linux下定时任务,这一篇转发一个windows下定时备份数据库. 第一种:新建批处理文件 backup.dat,里面输入以下 net stop mysql xcopy "C:\ ...
- 从零开始Blazor Server(4)--登录系统
说明 上一篇文章中我们添加了Cookie授权,可以跳转到登录页了.但是并没有完成登录,今天我们来完成它. 我们添加Cookie授权的时候也说了,这套跟MVC一模一样,所以我们登录也是跟MVC一模一样. ...