随着业内越来越多的公司对自动化测试的大力推行,对测试人员能够使用自动化工具的要求也随之增多。为了能让更多的同事在学习selenium的初期,能够顺利的迈出第一步,即可以通过代码操作selenium driver 调用浏览器打开目标网址,笔者在这里总结了最近一段时间给他人解决过的问题,并整理成一篇从0开始如何用最快速的方法搭建Python+Selenium+Sublime测试学习环境的指导,希望能够帮助到想学习自动化测试技术的朋友。
特别说明:本文所用软件全部基于windows操作系统。
1. Python的安装
随着大数据分析,人工智能等NewIT领域的持续火热,作为一门兼具语法简单,易学易阅读,并拥有数量众多功能强大的第三方库的工具语言,python的热度在近几年一直居高不下,甚至微软当下都发起一个“是否支持使用python替代VBA作为EXCEL脚本语言的投票”
(URL: https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7tUuWqOwSJFpBE5ZLhdkgtUMkhZWlkxRjhDRklXSjNTVkNSWkE2WlNQMS4u)
Python 的众多优点让我们选择Python3来作为自动化测试脚本的语言。
1.1 Python3 的下载
访问官网https://www.python.org/, 点击DOWNLOADS下面WINDOWS标签,进入Windows版本的下载页面。
我们可以看到当前最新的Python3版本为3.6.4
点击进入后,选择对应电脑操作系统版本(32或64位,通过右键点击“我的电脑“->”属性“来查看)的软件版本进行下载,这里我们选择Windows x86-64 executable installer。下载完成后,在对应文件夹中我们会看到python-3.6.4-amd64.exe这个安装文件。
1.2 Python3的安装
双击下载完成的exe文件,选择Customize installation, 同时一定要勾选 Add Python 3.6 to PATH,让安装程序自动将python可执行程序加到系统环境变量中。
下一步,勾选所有的选项,继续点击
关闭窗口,回到电脑桌面,通过键盘Win+R进入run窗口,输入CMD进入命令行
我们在此输入python并回车,若没有出现错误,并显示如下图所示的信息,说明python3安装成功
输入exit()退出python。然后输入pip,回车,如果出现下图所显示的信息,说明python库安装及管理工具pip也安装成功。
至此我们的python3软件全部安装完成。
2.安装selenium
2.1安装selenium库
究其根本,selenium对于python来说,是一个第三方的工具库,因此我们建议通过pip这一python库管理工具来安装selenium。安装selenium之前,我们先在命令行页面输入python进入程序,然后输入代码:
>>>from selenium importwebdriver
我们会发现报错,提示找不到selenium这个模块。这便是由于我们还未安装selenium库导致。
输入exit()退出python,在命令行界面输入下列命令安装selenium:
Pip install selenium
回车后pip工具会自动开始下载合适版本的selenium,并在安装完成后给出提示
此时,我们再次进入python,输入代码:>>>from selenium import webdriver
系统没有给出任何报错,这边说明我们的selenium库安装完成并可以成功导入。
2.2 下载对应浏览器的驱动
安装完selenium后,我们需要再继续下载每个浏览器对应的驱动程序。这里有一个前提条件是,由于我们的目的是不做太多的配置,只用最简单快速的方法来搭建环境,所以要求我们的浏览器,包括火狐,谷歌,安装在软件默认的路径。自定义的路径可能会造成selenium找不到浏览器执行文件的问题,导致进一步的配置操作。
下面给出谷歌,火狐,微软Edge三种浏览器所对应driver的下载地址:
Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads(需要翻墙)
Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Firefox: https://github.com/mozilla/geckodriver/releases
在下载时,应该根据自己浏览器的版本,来下载对应的驱动版本。驱动,浏览器如果版本不匹配,会导致程序运行失败。
3.Sublime Text的下载与安装
相比于商业非开源的PyCharm,在这里我们更推荐这款更轻量级,适合用来单纯学习python语言,selenium自动化测试的IDE工具 – Sublime Text.(软件收费,但是官方良心地允许无限期试用,只不过每进行几次保存操作后,弹出一个提示框,关闭即可)
3.1 Sublime Text的下载与安装
Sublime Text官网地址:http://www.sublimetext.com/
进入首页点击Download后,来到下载页,我们可以看到当前当前最新版本为Build 3143,点击Windows 64bit下载可执行安装文件Sublime Text Build 3143 x64 Setup.exe
双击下载完成的exe文件,进入安装界面,一路Next安装到默认文件夹:
双击下载完成的exe文件,进入安装界面,一路Next安装到默认文件夹:
3.2 Sublime Text3 插件的安装
仅仅安装完Sublime Text3,对于我们学习使用Python以及selenium是不够的,sublime的强大及便捷更多的在于它所拥有的丰富的插件。我们需要安装以下插件来使我们的编程工作更加便捷。
3.2.1安装Package control
Package Control是Sublime Text中一个专门用于管理插件的插件。具体安装步骤如下:
a. 打开Sublime Text, 进入菜单View – Show Console打开控制台
b.访问package control官网,复制安装代码到命令行。由于版本不断地更新,因此建议每次安装package control的时候都到官网获取最新的安装代码
c. 将代码黏贴到sublime text 命令行,并回车执行
d.安装完成后,如果在菜单preference下可以看到package control子菜单,说明package control安装成功
3.2.2 安装Anaconda
个人认为,一个好的IDE最起码应该具备代码补全和自动提示功能。Anaconda是目前 Sublime 3 中最好的 Python 自动补全和语法提示插件, 并且提供了"跳转到定义", "查找使用", "显示文档", "自动重命名"等 IDE 中插件的功能.(注:这里说的Anaconda是指sublime text的语法提示插件,而不是包含了大量科学库,用作数据科学及数据分析的的Anaconda python发行版本)
在sublime联网的环境下,使用shift+ctrl+p 打开命令面板,输入install,选择菜单命令:
Package Control: Install Package
进入package 安装界面,输入anaconda并点击安装
显示下面界面说明安装完成:
需要注意的是,Anaconda安装完成后,如果我们写的代码不符合PEP8标准(https://www.python.org/dev/peps/pep-0008/),插件会自动把不符合标准的代码用白色框标识出来,看上去较乱。可以通过下面的方法直接关闭Anaconda的这项提示:
进入菜单 Preferences > Package Settings > Anaconda > Settings User 中添加如下代码:
{"anaconda_linting": false}
然后Ctrl+S保存,关闭文件。
3.2.3 安装SideBarEnhancement
该插件为侧边栏增强插件,我们安装它最主要的目的是sublime本身的侧边栏不支持对已打开文件夹中文件的复制和粘贴,这对于我们学习python或者套用某个代码模板的操作来说十分不便。安装此插件后,右键点击侧边栏中的文件,会有复制,复制文件路径,粘贴,在浏览器中打开等更多的功能。
同样,我们也是通过package control,搜索SideBarEnhancement来安装,这里就不做赘述。
3.3 设置Python3 为 sublime 的编译系统
最后一步,由于sublime支持的语言众多,我们要设置之前安装的python3为sublime当前默认的编译系统。
进入Tools – Build System - New Build System…
在打开的新建文件中, 粘贴下列代码:
{
"cmd": ["C:/Python36/python.exe","-u", "$file"],
"file_regex":"^[ ]*File \"(....*?)\", line([0-9])",
"selector":"source.python"
}
其中第一行是安装Python3后,python.exe的地址。使用快捷键Ctrl+s, 命名当前文件为Python3,然后点击确定保存
再次回到编译菜单,可以看到新增了一个Python3的选项,即我们刚才配置的编译系统,我们勾选上即可
至此,我们的环境初步搭建完毕。现在我们在桌面新建一个.py文件使用sublime打开,输入最简单的一个print代码:
Print(“hello world”)
并使用 Ctrl+B进行编译,如果出现下面所显示的界面,恭喜你,现在你的python学习环境已经成功的搭建起来
4. 使用Python 写最基本的selenium脚本
接下来我们用Chrome为例,写一个最基本selenium脚本再次检验我们的环境搭建是否成功。
首先,在任意一个电脑路径下,建立一个practice文件夹,来储存你所有python学习的文档。同时,在practice文件夹中建立driver文件夹,将之前下载并解压的Chrome驱动放在这个driver文件夹中
打开Sublime, 选择File -> open folder… 打开刚才建立的practice文件夹
在侧边栏中右键点击Practice,选择New file…, 建立一个与driver文件夹同级的.py文件
然后输入下列代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driverPath = 'driver/chromedriver'
driver = webdriver.Chrome(driverPath)
driver.get('http://www.baidu.com')
assert "百度一下,你就知道" in driver.title
searchBox = driver.find_element_by_id('kw')
searchBox.send_keys('python')
searchBox.submit()
在输入代码的过程中,由于sublime自身的特性,会根据python的语法将各种关键字,变量等进行着色处理,同时Anaconda插件也会在输入的同时为用户提供代码补全,提示,以及文档查看等功能。
输入完毕后,Ctrl+B进行编译。如果出现Chrome浏览器被调用自动弹出,转到baidu首页,查询框自动查询python这一系列操作,说明我们环境的搭建完全成功。
至此,我们Python+selenium+sublime text的环境搭建已经完成。
在这一系列的操作中,我们的目的是用相对简单的流程,以最快的速度搭建起一个可以进行python学习的环境,避免了有些同事在学习的第一步就长时间地卡在这里,失去了学习的兴趣和动力。因此有些步骤稍显简单粗暴,而且和环境变量配置相关的步骤基本都被绕了过去。
同时,对于python,pip,selenium和sublime text的介绍也过于简单,尤其是sublime text, 只涉及到了不到5%的功能,随着大家对于python的逐渐深入学习,相信也会对sublime text这一编辑器的强大有更进一步的了解