分类目录归档:测试相关

selenium之错误处理(一)

今天执行selenium的一个简单脚本时,居然报错了,之前都是好着的。

image

网上查了查,说是selenium的版本太低了,火狐版本比较高造成的,下载最新版本可以解决这个问题。

而我看了看自己的版本,已经是最新版本了。

image

期间我升级过火狐,现在已经firefox30.0了,可能是火狐版本太高造成的。

没有火狐的低版本,于是我就用ie实验一下。没想到ie也报错了。

https://code.google.com/p/selenium/downloads/list?can=1&q=ie&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount下载了

image 解压后放到c:Python27

运行后,报错如下:

Message: u’Unexpected error launching Internet Explorer. Protected Mode sett

然后:

IE安全保护都去掉:   internet选项——安全
internet-启用保护模式 勾去掉
本地internet-启用保护模式 勾去掉
可信站点-启用保护模式 勾去掉
受限站点-启用保护模式 勾去掉 

运行后,结果如下:

image

image

调整浏览器缩放的大小,为百分之百,不缩放。

再次执行,可以执行成功,无报错。

火狐的版本 应该是selenium不支持火狐30.0以上的版本。

Selenium(三)selenium各个目录(python)的介绍

安装完成后,在C:Python27Libsite-packages目录下有两个文件夹。

image

其中selenium文件夹中包含了common公共库,webdriver模块,__init__.py初始化脚本,selenium.py。

image

Fetching a Page

首先你要做的是打开一个导航页面,通常这个方法是get。

driver.get(“http://www.google.com”)

打开谷歌首页。

Locating UI Elements

定位页面上的元素,通常有find Element和find Elements方法。

第一种返回一个web元素的对象,如果没有会报错。

第二种返回一个web元素的列表,如果没有返回空列表。

定位和查询一个对象调用的是“By”方法,By方法的使用有By ID,By Class Name,By Tag Name,By Name,By Link Text,By Partial Link Text,By Css,By XPATH

Selenium(二)selenium的一个实例

 

刚开始对脚本比较生的时候,可以用selenium ide进行录制。

这是火狐的一个插件,在附加组件里,搜索selenium ide进行安装。

#coding = utf-8

from selenium import webdriver

browser=webdriver.Firefox()

browser.get(“http://www.baidu.com”)

browser.find_element_by_id(“kw1”).send_keys(“hello”)

browser.find_element_by_id(“su1”).click()

browser.quit()

这是一个用浏览器打开www.baidu.com搜索hello,然后退出浏览器的例子。

如果执行比较快看不到效果,可以先屏蔽# browser.quit(),此时可以看到搜索结果。

selenium(一)环境搭建win+python+selenium

不管怎样,先得把环境搭起来。

这里搭建的是结合python的selenium环境 。

首先,安装好python的环境。从官网下载安装包,下一步,下一步安装,完成后,设置环境变量。

 

 image

装个pip工具,当然不安装也行,安装这个工具主要是为了安装selenium和其他扩展工具方便的。

https://pip.pypa.io/en/latest/installing.html#python-os-support

https://pip.pypa.io/en/latest/search.html?q=ez_setup.py&check_keywords=yes&area=default

下载setuptools。

image

下载get-pip.py

 image

安装selenium,如图显示已经安装了,给它更新成最新版本。

image

image

image

 

Selenium安装完毕。

在新版本的 webdriver 中,只有安装了 ie driver 使用 ie 进行测试工作。