使用Python+selenium实现第一个自动化测试脚本


Posted in Python onMarch 17, 2020

最近在学web自动化,记录一下学习过程。

此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求。

环境:windows10,64位

一、安装python

python官方下载地址:https://www.python.org/downloads/

使用Python+selenium实现第一个自动化测试脚本

进入页面就有两个版本的下载选择,2.x版本和3.x版本,或者根据系统选择对应版本。

点击Windows,跳转到Windows版本页面:

使用Python+selenium实现第一个自动化测试脚本

点选Python3.6.0版本,进入3.6版本页面,拉到页面下方,找到files

使用Python+selenium实现第一个自动化测试脚本

选择64位or32位(x86-64即64,x86即32位),每种都有3个版本

embeddable zip file是嵌入式的,可以集成到其它应用中;

executable installer是exe可执行文件方式安装;

web-based installer是联网安装包,需要有网络环境;

如果不是嵌入式的,后两种方式都是可以的。这里我下的是web-based版本,下载后双击运行,进入安装程序:

使用Python+selenium实现第一个自动化测试脚本

可选默认安装方式,也可自定义安装,两种方式都需勾上下方的Add Python 3.6 to PATH,这里我们选自定义安装Customize installation

使用Python+selenium实现第一个自动化测试脚本

这里我们按默认全选即可,Next

使用Python+selenium实现第一个自动化测试脚本

勾上第一个选项,选择安装路径后(注意安装路径不要包含中文,否则后面安装工具可能会报错),点击install就开始安装了

使用Python+selenium实现第一个自动化测试脚本

等待安装...

使用Python+selenium实现第一个自动化测试脚本

安装完成,点击close,python安装完毕~ 前面已勾选了add path,所以无需设置任何系统变量,即可使用。

安装后点击开始菜单,在菜单最上面能找到IDLE

使用Python+selenium实现第一个自动化测试脚本

IDLE是python自带的shell,点击打开,即可开始编写python脚本了~~

使用Python+selenium实现第一个自动化测试脚本

二、安装selenium

上面python已安装完毕,接下来安装selenium。

安装selenium之前需安装些必要工具

1. 安装setuptools

下载地址:https://pypi.python.org/pypi/setuptools

使用Python+selenium实现第一个自动化测试脚本

在页面找到zip安装包,下载后解压。在命令行(运行->cmd)进入解压目录

执行 python setup.py install 即可安装,注意解压路径不要包含中文,否则安装会报错。

2.安装pip

下载地址:https://pypi.python.org/pypi/pip

使用Python+selenium实现第一个自动化测试脚本

在页面找到pip-9.x.tar.gz,下载后解压。同样在命令行进入解压目录,执行 python setup.py install 即可自动安装。

3.安装selenium

上面2个工具安装好后,安装selenium只需在命令行进入python安装路径Script目录下,执行 pip install -U selenium 即可自动安装。

完成安装后在IDLE输入 from selenium import webdriver ,如果没报错即代表安装成功。

三 注意事项

1. selenium3.0需要独立安装Firefox驱动,不再自带驱动,下载地址: https://github.com/mozilla/geckodriver/releases 下载对应版本,解压放在python安装路径下即可;

2. geckodriver驱动要求Friefox浏览器必须48版本以上,如果不是,更新Firefox;

3. 如果用Java开发,需注意3.0必须用JDK1.8版本才行;

4. Chromedriver下载:https://sites.google.com/a/chromium.org/chromedriver/downloads 同样也是下载后放在python安装路径下即可。

四 第一个自动化脚本

完成上面所有准备工作,就可以开始第一个自动化脚本的编写啦~

打开IDLE,通过快捷键ctrl+n打开一个新窗口,在新窗口输入以下代码:

# coding = utf-8 
from selenium import webdriver 
 
browser = webdriver.Firefox() 
 
browser.get("http://www.baidu.com")
 
browser.find_element_by_id("kw").send_keys("selenium") 
browser.find_element_by_id("su").click() 
 
browser.quit()

保存为test1.py,通过快捷键F5运行脚本,可看到脚本启动Firefox浏览器进入百度页,输入“selenium” 点击搜索按钮,最后关闭浏览器的过程。第一个脚本即完成了~

代码解析:

# coding = utf-8

为了防止乱码问题,以及在程序中添加中文注释,把编码统一成 UTF-8;


from selenium import webdriver

导入selenium的webdriver包,导入webdriver包后才能使用 webdriver API 进行自动化脚本开发;

browser = webdriver.Firefox()

将控制的 webdriver 的 Firefox 赋值给 browser;获得了浏览器对象才可以启动浏览器;

browser.get("http://www.baidu.com")

获得浏览器对象后,通过 get()方法,向浏览器发送网址;

browser.find_element_by_id("kw").send_keys("selenium")

通过 id=kw 定位到百度的输入框,并通过键盘方法send_keys()向输入框里输入selenium ;

browser.find_element_by_id("su").click()

通过 id=su 定位到搜索按钮,并向按钮发送单击事件(click()) ;

browser.quit()

退出并关闭窗口的每一个相关的驱动程序。

到此这篇关于使用Python+selenium实现第一个自动化测试脚本的文章就介绍到这了,更多相关Python selenium 自动化测试内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之有点简约的元组
Sep 24 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
Python中基础的socket编程实战攻略
Jun 01 Python
浅谈Python中函数的参数传递
Jun 21 Python
Python 使用SMTP发送邮件的代码小结
Sep 21 Python
深入理解python中函数传递参数是值传递还是引用传递
Nov 07 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
Oct 09 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
Python 给下载文件显示进度条和下载时间的实现
Apr 02 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 Python
Python中的tkinter库简单案例详解
Jan 22 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 #Python
利用python在excel中画图的实现方法
Mar 17 #Python
Python reversed函数及使用方法解析
Mar 17 #Python
使用python自动追踪你的快递(物流推送邮箱)
Mar 17 #Python
windows、linux下打包Python3程序详细方法
Mar 17 #Python
Python任务自动化工具tox使用教程
Mar 17 #Python
vue常用指令代码实例总结
Mar 16 #Python
You might like
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
jquery easyui使用心得
2014/07/07 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
python读取注册表中值的方法
2013/04/08 Python
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
python实现排序算法解析
2018/09/08 Python
自学python的建议和周期预算
2019/01/30 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
传播学毕业生求职信
2013/10/11 职场文书
应届生新闻编辑求职信
2013/11/19 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
2019年预备党员的思想汇报:加深对党的认知
2019/09/25 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python