使用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实现的手机号归属地相关信息查询功能示例
Jun 08 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
PyQt5实现五子棋游戏(人机对弈)
Mar 24 Python
django-rest-swagger对API接口注释的方法
Aug 29 Python
Python&&GDAL实现NDVI的计算方式
Jan 09 Python
python3中sys.argv的实例用法
Apr 24 Python
完美解决keras 读取多个hdf5文件进行训练的问题
Jul 01 Python
Pycharm中如何关掉python console
Oct 27 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 29 Python
详解python日志输出使用配置文件格式
Feb 10 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 Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
Python Tkinter实现简易计算器功能
2018/01/30 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
致跳远运动员广播稿
2014/02/11 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
2014年度安全工作总结
2014/12/04 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书