《手把手教你》系列进阶篇之1-python+ selenium自动化测试 - python基础扫盲(详细教程)
1. 简介
如果你从一开始就跟着宏哥看博客文章到这里,基础篇和练习篇的文章。如果你认真看过,并且手动去敲过每一篇的脚本代码,那边恭喜你,至少说你算真正会利用Python+Selenium编写自动化脚本了,你基本掌握了Selenium中webdriver的大部分常用的方法函数。有大佬曾经说过,自动化测试大概可以分三个层次:
1. 手工测试用例转换成自动化测试脚本的过程
2. 能设计自动化测试框架,至少能够维护自动化测试框架。
3. 流程自动化方案设计,例如,一键打包,自动开始测试,自动发送测试报告,自动运维部署上线等。
通过前边文章的基础和练习讲解,学习到这个时间节点,应该是完整介绍了手工测试用例装换成自动化测试脚本这一个初级水平,学到这里,你已经具备了能够编写自动化测试脚本的能力。
在开始介绍设计简单的自动化测试框架之前,我想在这个节点,插入一个新章节,叫Python+Selenium进阶篇,主要是介绍一些设计框架的前提技能和基本Python编写代码的能力。这些能力包括但不限于以下内容:
1. 主流Python开发IDE工具的基本使用,例如Pycharm
2. Python中模块,类和对象的具体代码讲解。
3. Selenium 常见方法的二次封装。
4. 自定义方法的封装和方法的调用-浏览器引擎类。
5. Python读写配置文件介绍
6. Python如何获取系统时间和时间的格式化处理。
7. Python中常见字符串切割处理。
8. Python自定义一个日志生成方法封装。
9. Selenium中一个截图方法的封装。
10. Python中继承的使用。
通过介绍以上进阶技能学习后,我们才可以,或者有能力去思考和动手去设计一个简单的自动化测试框架。
2. pycharm安装
在Python开发过程中,比较流行,很优秀的一款IDE工具-PyCharm,这里关于它的介绍就一句话,它就相当于Java开发中的Eclipse软件一样。有些人说,Eclipse上可以通过安装插件扩展来支持Python的代码编写,虽然可以这样,但是我强烈建议,你本来就是
学习,为啥不选择一个符合大众的选择工具呢,不管你用没有用户Eclipse,在这里,你将要用PyCharm进行自动化测试框架的开发。
这里宏哥就不废话也不啰嗦了,可以参考宏哥这篇文章:手把手的教你安装PyCharm --Pycharm安装详细教程(一)(非常详细,非常实用)里边有详细的安装步骤。
3. pycharm简单使用
3.1 创建一个包,或者文件夹,或者python文件
如何创建一个包,或者文件夹,或者python文件,请看下图:

3.2 设置工作面板中的字体
如何设置工作面板中的字体:
点击File-Settings,调出设置面板:

3.3 设置代码面板中背景颜色
如何设置代码面板中背景颜色成绿豆色,据说绿豆色养眼,护眼,绿豆色用RGB表示:C7EDCC

3.4 多行注释快捷键
在PyCharm如何多行注释: 选中多行代码,ctrl+/
3.5 运行代码
在PyCharm如何运行代码:点击菜单栏绿色三角 或者,在代码面板,右键,选中Run xxx
好了这里就简单的介绍一下,自己慢慢的用着用着熟练就好了。用一时一时爽,一直用一直爽!!!
4. Python中类/函数/模块的简单介绍和方法调用
前边小章节介绍了PyCharm的基本使用,接下来我们的脚本代码都在这个PyCharm这个编辑器里写。好处有很多,项目文件结构层次清晰,写代码的时候会自动化提示和补全。这里,我们在昨天创建的项目下,新建一个包,然后在包下面新建一个demo.py文
件。抄写以下代码到你的环境里,尝试运行下,看看有没有问题。
关于Python中类和函数及方法的调用,我们写在这个demo.py文件,具体代码如下:
4.1 代码实现:

4.2 参考代码:
# coding=utf-8《手把手教你》系列进阶篇之1-python+ selenium自动化测试 - python基础扫盲(详细教程)的更多相关文章
- 《手把手教你》系列技巧篇(五十八)-java+ selenium自动化测试-分页测试(详细教程)
1.简介 前几天,有人私信里留言问宏哥,分页怎么自动化测试了,完了给他说了说思路,不知道最后搞定没有,索性宏哥就写一篇文章来讲解和介绍如何处理分页. 2.测试场景 对分页来说,我们最感兴趣的和测试的无 ...
- 《手把手教你》系列技巧篇(六十四)-java+ selenium自动化测试 - cookie -中篇(详细教程)
1.简介 今天按照原计划宏哥要用实例来给小伙伴或童鞋们来演示一下,如何利用cookie实现跳过验证码进行登录.这个场景是自动登陆.有很多系统的登陆信息都是保存在cookie里的,因此只要往cookie ...
- 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)
1.简介 今天这一篇,宏哥主要讲解:利用WebDriver 提供可以读取.添加和删除cookie 信息的相关操作方法.验证浏览器中是否存在某个cookie.原因是:因为基于真实的cookie 的测试是 ...
- 🔥《手把手教你》系列基础篇之4-python+ selenium自动化测试-xpath使用(详细教程)
1. 简介 俗话说:磨刀不误砍柴工,因此在我们要开始写自动化脚本之前,我们先来学习和了解几个基本概念,在完全掌握了这几个概念之后,有助于我们快速上手,如何去编写自动化测试脚本. 元素,在这个教程系列, ...
- SQL Server调优系列进阶篇(查询语句运行几个指标值监测)
前言 上一篇我们分析了查询优化器的工作方式,其中包括:查询优化器的详细运行步骤.筛选条件分析.索引项优化等信息. 本篇我们分析在我们运行的过程中几个关键指标值的检测. 通过这些指标值来分析语句的运行问 ...
- SQL Server调优系列进阶篇(深入剖析统计信息)
前言 经过前几篇的分析,其实大体已经初窥到SQL Server统计信息的重要性了,所以本篇就要祭出这个神器了. 该篇内容会很长,坐好板凳,瓜子零食之类... 不废话,进正题 技术准备 数据库版本为SQ ...
- SQL Server调优系列进阶篇(如何索引调优)
前言 上一篇我们分析了数据库中的统计信息的作用,我们已经了解了数据库如何通过统计信息来掌控数据库中各个表的内容分布.不清楚的童鞋可以点击参考. 作为调优系列的文章,数据库的索引肯定是不能少的了,所以本 ...
- SQL Server调优系列进阶篇(如何维护数据库索引)
前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常 ...
- SQL Server调优系列进阶篇(查询优化器的运行方式)
前言 前面我们的几篇文章介绍了一系列关于运算符的基础介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符. ...
随机推荐
- tarjan求lca的神奇
题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入输出格式 输入格式: 第一行包含三个正整数N.M.S,分别表示树的结点个数.询问的个数和树根结点的序号. 接下来N-1行每 ...
- day 1 晚上 P2824 [HEOI2016/TJOI2016]排序 线段树
#include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #inclu ...
- js中 对象名.属性名和对象名['属性名']的区别,.和[]的区别
对象中的对象名[ ' 属性名 ' ] 和 对象名.属性名的区别 话不多少,上图分析,菜鸟刚学几个月,如有错误,欢迎大佬们指出 这里是很显而易见的! 然后我们用for in 对他进行遍历,他的区别就出来 ...
- tcpdump抓包工具
tcpdump抓包工具 一:TCPDump介绍 TcpDump可以将网络中传送的数据包的"头"完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and ...
- Centos 7.X 安装及常规设置
一.制作USBHDD+启动 需要工具: UltraISO(软碟通) U盘 centos7镜像: http://www.centos.org 二.安装(有坑) U盘启动电脑,进入安装界面: 选中第一项, ...
- 树莓派debian配置lamp[解决Apache不显示php网页]
Apache + MySql + Php. 1.安装Apache Apache可以用下面的命令来安装 sudo apt-get install apache2 Apache默认路径是/var/www/ ...
- Spring-boot构建多模块依赖工程时,maven打包异常:程序包xxx不存在
在qizhi项目改版的时候, 所有代码都迁移好了, 但是compile的时候报程序包*****不存在, 具体到某一个类就是: 找不到符号. 下面这篇文章是正解 http://hbxflihua.ite ...
- 张孝祥java高新技术 --- jkd1.5 新特性
1. 静态导入 import static java.lang.Math.max; 2. 可变参数 3. 自动装箱,拆箱 4. 枚举
- Pashmak and Buses(构造)
题目链接:http://codeforces.com/problemset/problem/459/C 题意:n个人, k辆车, d天,每天将所有 任意人安排到k辆车, 问怎样安排, 可时不存在 2人 ...
- JavaScript中的基本数据类型和引用数据类型
ECMAScript变量包括了两种不同的数据类型 在学习JavaScript的数据类型时,我们通常会把数据类型分成六中(官方认为)Object.String.Boolean.Number.Undefi ...