使用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小程序来统计测试脚本的关键字
Mar 12 Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 Python
python 调用win32pai 操作cmd的方法
May 28 Python
Python2实现的图片文本识别功能详解
Jul 11 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
Python shutil模块用法实例分析
Oct 02 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 Python
python编写实现抽奖器
Sep 10 Python
python文件名批量重命名脚本实例代码
Apr 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中的串行化变量和序列化对象
2006/09/05 PHP
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
浅谈JS的基础类型与引用类型
2016/09/13 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
python如何在终端里面显示一张图片
2016/08/17 Python
python中partial()基础用法说明
2018/12/30 Python
200行python代码实现2048游戏
2019/07/17 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
Python实现元素等待代码实例
2019/11/11 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
销售人员求职的自我评价分享
2014/03/15 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
英语辞职信范文
2015/02/28 职场文书
新员工入职感言范文!
2019/07/04 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL