转 Selenium+Python+Eclipse网页自动化集成环境配置(附简单的测试程序)
1 JDK、Python环境变量配置
下载JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html,直接双击安装,建议直接点“下一步”,选择默认路径安装。安装好JDK之后,就配置JDK的环境变量。
右击”我的电脑”>>属性>>高级>>环境变量
新增系统变量:变量JAVA_HOME 值C:\Program Files\Java\jdk1.6.0_24,你要根据你自己的安装路径来选这个值
变量CLASSPATH 值 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 记住前面有个. 代表当前路径
编辑变量Path 添加 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
经过这些步骤之后,JDK环境变量就配置成功了。如何测试是否成功?答案如下:在cmd命令窗口分别敲入 java 、javac如果都提示帮助信息则表示配置成功,如果提示命令不存在则表示配置不成功。
以下是图文介绍如下图:
配置classpath变量,记得前面有个.
把上面配的JAVA_HOME和classpath追加到path中
2 下载Eclipse
官网下载地址:http://www.eclipse.org/downloads/。
下载完成之后,直接双击即可运行。首次运行的时候,会出现一个欢迎界面,并提示你选择workspace的存储路径。这个路径可以根据自己的情况设置,建议这个路径不要含有中文字符,否则以后的项目在运行过程中有可能会出错。
3 下载Python安装。
Python2 和Python3有点不同,我这里下载的是Python2.7.2这个版本。下载地址:https://www.python.org/downloads/根据自己电脑的位数选择32bit或者64bit的安装包
下载好Python的安装包之后,直接双击即可完成安装,建议选择默认安装,直接点“下一步”即可。安装好了Python之后,就配置Python的环境变量。
其实配置Python的环境变量比配置JDK的环境变量更简单,我们只需要把Python的安装路径追加到Path系统变量中就好了,如下图:
4 将Eclipse和Python整合到一起
在Eclipse的菜单栏中,单击Help--> Eclipse Marketplace…,在弹出的窗口中,会有一个搜索框,在里面输入Pydev,这个主要是用来搜索Pydev的,搜索到之后,就单击Install。Install之后就restart Eclipse,然后在Eclipse菜单中,选择windows-->preferenc-->PyDev--->Interpreters--->Python Interpreter,如下图:
配置完成后如图:
5 下载selenium
官网下载地址:http://seleniumhq.org/download/
Selenium主要包含三个部分:Selenium IDE、Selenium Server、Selenium Client Drivers。我们需要把这三个部分都下载下来安装。
首先下载的是Selenium IDE。Selenium IDE是一个火狐插件,可以录制脚本,同时可将脚本转换成不同脚本语言的脚本。Selenium IDE下载下来之后,打开火狐浏览器,然后把Selenium IDE这个压缩包拖到火狐浏览器中,火狐浏览器自动提示安装,选择默认安装即可。
Selenium Server是Selenium的核心部分,它是用 JavaScript 编写的,这使得测试脚本可以在受支持的浏览器中运行。下载下来的Selenium Server文件是jar包,安装方法是,打开CMD,去到Selenium Server的路径下,直接输入: java -jar selenium-server-2.41.0.jar 即可完成安装。
Selenium Client Drivers 由于我用的是Java语言因此我选择下载的包是Java版的,如图:
6 安装setuptools-0.6c11
Setuptools是python安装第三方库比较方便的工具,支持在线安装。我们先把setuptools-0.6c11下载下来,下载地址:http://pypi.python.org/pypi/setuptools/0.6c11。你自己根据自己的电脑是32位还是64位的进行下载安装。
7 安装 pip
pip支持在线安装。我们打开cmd,直接输入cd c:\Python27\Scripts回车,然后再输入easy_install.exe pip,即可在线下载安装。
8 安装第三方包
其实上面两个步骤主要是为这里铺垫的,有了上面两步,我们就可以轻松的安装第三方包了。
第三方包有:
selenium
xlwt(97版excel的写入)
xlrd(97版excel的读取)
xlutils(修改现有97版excel文档)
mysql(MySQL-python,支持对mysql里数据的查询和写入)
openpyxl(.xls和.xlsx都支持,但如果文档包含一些特殊公式,可能会失败)
yaml(PyYAML)
安装方法也很简单:
打开CMD,
输入cd c:\Python27\Scripts
pip install xlwt,
以此类推,把上面列的7个包都安装完去。如果有些包不能在线安装,你就直接去到官网去把他们下载下来,然后用CMD的方式安装。
9 Driver的安装及下载
需要安装的driver有Google和IE的,他们分别是:
chromdirver: 下载地址http://chromedriver.storage.googleapis.com/index.html
iedriver: 下载地址http://selenium-release.storage.googleapis.com/index.html
他们主要是用来驱动打开网页的。下载下来之后,把这2个exe文件放到python的安装目录下,如:c:\Python27。
10 见证奇迹的时刻到了
把上面的都做好之后,就可以写我们的第一个程序了。这个程序的主要功能就是:打开一个谷歌浏览器,然后,在输入框输入beyond(我比较喜欢的乐队),完成网页的自动化。
程序源代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# -*- coding: utf-8 -*- 这个主要是设置编码方式 ''' Created on 2014-08-09 @author: Administrator ''' #!/usr/bin/python from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.support.ui import WebDriverWait import time # 实例化一个驱动类 driver = webdriver.Chrome() # # 打开谷歌浏览器 # 通过q这个属性来找元素 (谷歌搜索框) inputElement = driver.find_element_by_name( "q" ) # 在搜索框中输入beyond,题外话,beyond是我比较喜欢的乐队,我很喜欢吉他的,正在学呢 inputElement.send_keys( "beyond" ) # 提交搜索信息 inputElement.submit() print driver.title try : WebDriverWait(driver, 10 ).until( lambda driver : driver.title.lower().startswith( "beyond" )) print driver.title finally : pass #================================== |
如果你看到谷歌浏览器自动打开了,那么,你已经迈出了自动化的第一步了。
第一篇技术博文终于写完了,可以去睡觉了,明天继续上班去.....
世界晚安。。。
转 Selenium+Python+Eclipse网页自动化集成环境配置(附简单的测试程序)的更多相关文章
- Selenium+Python+Eclipse网页自动化集成环境配置(附简单的测试程序)
最近公司在给我们培训,主要是网页自动化测试的,现在的工作每天都是测APP,刚刚入门,不过,当我看了别人写的bug之后,就觉得不会觉得能够发现bug多么多么的厉害了. 前两周的时间一直在搭建自动化测试的 ...
- selenium+python+eclipse 实现 “问卷星”网站,登录与检查登录示例!
1.使用selenium+python+eclipse实现的登录"问卷星",问卷星访问地址:https://www.sojump.com/ 2.实现步骤:1)进入链接---首页-- ...
- 从零开始搭建Jenkins+Docker自动化集成环境
本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分. 一.关于Jenkins Jenkins简介 ...
- Docker学习总结(13)——从零开始搭建Jenkins+Docker自动化集成环境
本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分. 一.关于Jenkins Jenkins简介 ...
- windows7+eclipse+hadoop2.5.2环境配置
windows7+eclipse+hadoop2.5.2环境配置 一.hadoop集群环境配置 参考我的前一篇文章(ubuntu + hadoop2.5.2分布式环境配置 http://www. ...
- Jenkins Jenkins结合GIT Maven持续集成环境配置
Jenkins结合GIT Maven持续集成环境配置 by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...
- Windows+Python+anaconda机器学习安装及环境配置步骤
Windows+Python+anaconda机器学习安装及环境配置步骤 1. 下载安装python3.6以上版本(包含pip,不用自己安装)2. 直接下载安装pycharm安装包(用于编写pytho ...
- android data binding jetpack I 环境配置 model-view 简单绑定
android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...
- 后Selenium时代,网页自动化测试用Cypress
本文技术难度★★★,初学自动化测试的朋友慎点!否则会引起焦虑等不适症状,严重者会怀疑自己技术人生! 来自Cypress官网首页! Web开发飞速换代! table控制页面OUT了! 原生态手写网页OU ...
随机推荐
- 从头开始db-oracle
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpmrpm -ivh http: ...
- asp.net 各种路径
Request.Path 是包含文件名的,而 Request.ApplicationPath 是应用程序路径,不包含文件名. 示例: Request.Path = /cftea/Default.asp ...
- angular 实现tab切换(循环输出tab标题及tab下属内容,非direct,非include)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...
- TextBlock
一.TextBlock与Lable TextBlock是比Lable更底层的控件如果用TextBlock可以完成的需求就尽量不用Lable可以稍微提升一点性能. 参考文档 二.TextBlock内容过 ...
- 如何用Matplotlib绘制三元函数
#!/usr/bin/env python #coding=GBK from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm ...
- 【MySQL】SQL优化系列之 in与range 查询
首先我们来说下in()这种方式的查询 在<高性能MySQL>里面提及用in这种方式可以有效的替代一定的range查询,提升查询效率,因为在一条索引里面,range字段后面的部分是不生效的. ...
- (WPF) 基本题
What is WPF? WPF (Windows Presentation foundation) is a graphical subsystem for displaying user inte ...
- Spark数据传输及ShuffleClient(源码阅读五)
我们都知道Spark的每个task运行在不同的服务器节点上,map输出的结果直接存储到map任务所在服务器的存储体系中,reduce任务有可能不在同一台机器上运行,所以需要远程将多个map任务的中间结 ...
- USACO 滑雪课程
#include<cstdio> #include<iostream> using namespace std; int T,S,N,maxd; ],lv[],next[],f ...
- 异步|同步&阻塞|非阻塞
异步|同步:区别在于发出一个功能调用时,是否马上得到返回结果 阻塞|非阻塞:区别在于调用结果返回之前,当前线程是否挂起 node.js:单线程.异步非阻塞模型 单线程与异步不矛盾,与并发是矛盾的 ht ...