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 ...
随机推荐
- Obsidian基础教程
Obsidian基础教程 相关链接 2021年新教程 - Obsidian中文教程 - Obsidian Publish 软通达 基础设置篇 1. 开启实时预览 开启实时预览模式,所见即所得 打开设置 ...
- docker的平替--podman
前言 我们都知道,docker这个东西,是CaaS(Container as a Service,容器即服务)的通常解法.我们使用docker来管理容器的生命周期,比如镜像的生成.容器的管理和定制(D ...
- namespace_std 杂题选讲
CF1458C Latin Square 2021 EC Final C. Random Shuffle [THUPC2021] 混乱邪恶 [JOISC2022] 制作团子 3 2022 集训队互测 ...
- scrapy框架入门
scrapy迄今为止依然是世界上最好用,最稳定的爬虫框架,相比于其他直接由函数定义的程序, scrapy使用了面向对象并对网页请求的过程分成了很多个模块和阶段,实现跨模块和包的使用,大大提升了代码的稳 ...
- 生成RSA密钥的方法[转载]
openssl genrsa -des3 -out privkey.pem 2048 这个命令会生成一个2048位的密钥,同时有一个des3方法加密的密码,如果你不想要每次都输入密码,可以改成(测试常 ...
- HashMap源码深度剖析,手把手带你分析每一行代码,包会!!!
HashMap源码深度剖析,手把手带你分析每一行代码! 在前面的两篇文章哈希表的原理和200行代码带你写自己的HashMap(如果你阅读这篇文章感觉有点困难,可以先阅读这两篇文章)当中我们仔细谈到了哈 ...
- 网络通信协议分类和IP地址
网络通信协议分类 通信的协议还是比较复杂的,java.net 包中包含的类和接口,它们提供低层次的通信细节.我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节 java.net ...
- Solution -「营业」「CF567D」One-Dimensional Battle Ships
题目大意 - 翻译 Alice 和 Bob喜欢在 \(1\times n\) 的表格中玩战舰游戏.游戏开始时,Alice 有 \(k\) 艘战舰,每艘战舰长度为 \(a\),她需要把这些战舰不重叠 ...
- linux环境下修改网卡为eth0
如果没有在安装系统之前传递内核参数将⽹卡名称更改为eth*,则可以在安装系统后修改 vim /etc/default/grub GRUB_DEFAULT=0 GRUB_TIMEOUT_STYLE=hi ...
- jdbc 09: preparedStatement实现增删改查
jdbc连接mysql,利用preparedStatement实现增删改查 package com.examples.jdbc.o9_preparedStatement实现增删改; import ja ...