【5】第2章 测试环境搭建(2)

2.3 安装浏览器驱动

WebDriver 支持Firefox (FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver) 和Chrome(ChromeDriver)。

对Safari 的支持由于技术限制在本版本中未包含,但是可以使用SeleneseCommandExecutor模拟。

还支持Android (AndroidDriver)和iPhone (IPhoneDriver) 的移动应用测试。

还包括一个基于HtmlUnit 的无界面实现,相关驱动为HtmlUnitDriver。

Selenium-WebDriver支持下面的浏览器,以及这些浏览其兼容的操作系统。

> Google Chrome 12.0.712.0+
> Internet Explorer 6, 7, 8, 9 - 32 and 64-bit
> Firefox 3.0, 3.5, 3.6, 4.0, 5.0, 6, 7
> Opera 11.5+
> HtmlUnit 2.9
> Android – 2.3+ 为移动电话和平板电脑(设备或模拟器)
> iOS 3+ 移动电话(设备或模拟器) 以及3.2+ 平板电脑(设备或模拟器)

各个浏览器驱动下载地址:http://www.seleniumhq.org/download/

http://chromedriver.storage.googleapis.com/index.html?path=2.32/

https://github.com/operasoftware/operachromiumdriver/releases

安装Chrome 浏览器驱动,下载ChromeDriver_win64.zip(根据自己系统下载不同的版本驱动),解压得到chromedriver.exe 文件放到系统环境变量Path 下面。

安装IE 浏览器驱动,下载IEDriverServer_Win32_x.xx.zip,将解压得到IEDriverServer.exe,同样放置到系统环境变量path 目录下。

在Liunx 系统下,同样下载系统对应的浏览器驱动,并将浏览器驱动放置到环境变量Path 所设置的路径下,不同的Linux 环境变量的设置也会有所区别,这里不再详细介绍。

安装完成后可以用IE 和chrome 来替换firefox 运行上面的例子。

import org.openqa.selenium.firefox.*;

....

WebDriver driver = new ChromeDriver();

....

替换为:

import org.openqa.selenium.chrome.*;

....

WebDriver driver = new ChromeDriver();

....

import org.openqa.selenium.ie.*;

....

WebDriver driver = new InternetExplorerDriver();

....

如果程序能调用相应的浏览器运行,说明我们的浏览器驱动安装成功。

2.3补充说明:selenium+chromedriver安装及简单使用

解压后里面是一个exe文件,有两种选择:

1.每次使用手动增加路径:

?


1

2

3

#手动添加路径

path = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver\chromedriver.exe"

driver = webdriver.Chrome(executable_path=path)

2. 添加环境变量path,增加chromedriver所在的目录

(我的电脑--右击属性--高级系统调设置--环境变量--path--把chromedriver.exe的路径添加上即可)

如果报错,考虑版本不对的问题,换个chromedriver.exe!!!

2.4 不同编程语言下使用WebDriver

W3C(万维网联盟)对WebDriver 对做定义和规范。

http://www.w3.org/TR/webdriver/

WebDriver 是一个远程控制界面,支持反省和用户代理的控制权。它提供了一个独立于系统平台和编程语言的线协议(wire protocol)作为一种远程进程程序指示web 浏览器的行为。

该WebDriver API 通过通讯协议和一组接口来发现页面上的DOM 元素中定义的操作,包括控制浏览器的行为。

我们可以这样来理解,例如,国标标准定义插板和插头的生产标准。那么所有的电器厂商生产的插头与所有插板厂商生产的插板都按照这套标准来设计与生产。所以,我们拿到任何一个合格的插头和插板都可以匹配得上。

WebDriver 可以理解成对操作浏览器和页面元素的一套“国标”。那么不同的编程语言都可以按照这套标准实现自己的语言的WebDriver库。

下面展示在不同编程语言下使用WebDriver 实现百度搜索的例子。

在C#中引入Selenium WebDriver 实现自动化测试:

baidu.cs

//添加 Selenium(webdriver)的引用
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;
namespace SeleniumTests
{
class Baidu
{
static void Main(string[] args)
{
driver = new FirefoxDriver();
url = "http://www.baidu.com/";;
driver.Navigate().GoToUrl(url)
var searchBox = driver.FindElementById("kw");
searchBox.SendKeys("Selenium");
ar btnClick = driver.FindElementById("su");
btnClick.Click();
driver.Quit();
}
}
}

在Ruby 中引入Selenium WebDriver 实现自动化测试:

baidu.rb

#导入Selenium(webdriver)包
require ‘Selenium-webdriver‘
driver = Selenium::WebDriver.for:chrome
driver.get "http://www.baidu.com";
driver.find_element(:id, ‘kw‘).send_keys "Hello WebDriver!"
driver.find_element(:id, ‘su‘).click
driver.quit

在Python 中引入Selenium WebDriver 实现自动化测试:

baidu.py
#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()

在不同的编程语言中会有语法的差异,我们抛去语法的差异性,在不同的语言中实现百度搜索的自动化实例都完成了下面几个操作。

(1)首先导入Selenium(webdriver)相关模块。

(2)调用Selenium 的浏览器驱动,获取浏览器句柄(driver)并启动浏览器。

(3)通过句柄访问百度URL。

(4)通过句柄操作页面元素(百度输入框和按钮)。

(5)通过句柄关闭浏览器。

所以,WebDriver 支持多种编程语言,再确切的可以看作是多种语言都支持WebDriver,唯一的不同在于不同语言实现的类与方法名的命名差异性。当然,这样做的好处不言而喻,每个人可以根据自己熟悉的语言来使用WebDriver 编写自动化测试脚本。

时间: 2024-10-15 13:47:06

【5】第2章 测试环境搭建(2)的相关文章

第二章 测试环境搭建(下)

2.3 模拟器管理 经过上面的环境配置,我们已经搭建起了一个Appium+Python安卓App的测试环境.不过要运行具体的app测试用例的时候,我们需要有运行环境,通常有模拟器和真机两种.在此我们先创建一个模拟器,检测一下我们的环境是否搭建成功. 新AVD模拟器 ?  启动我们安装的ADT中的eclipse,点击Eclipse软件的Windows菜单,选择其下的Android Virtual Device Manager菜单项,进入Android Virtual Device Manager其

第二章 测试环境搭建(上)

在进行任何开发语言学习之前,都是要配置相应的开发环境.当然我们的Appium手机自动化测试也一样,不过不需要在手机上装开发环境,而是在我们电脑上安装.由于Appium可以测试Android和IOS两个系统下的app,而我们在本教程中只讲解Android下的App自动化测试,所以就不讲解Appium在mac下的环境配置. 2.1 系统及软件准备 一.适用操作系统: Win7 旗舰版Sp1 64位操作系统或 32位操作系统 二.所需软件: (1)jdk-7u45-windows-i586.exe,当

第二章 TestNG环境搭建

------Web自动化测试之Webdriver+TestNG--从零到熟练(系列) TestNG是一个自动化测试框架,要使用这个测试框架编写我们的自动化测试用例,需要先行搭建对应的开发环境.本章我们就讲解WebDriver+TestNG开发环境的搭建. 2.1 环境配置 1,eclipse+jdk的安装 这个是比较基本的环境配置,如果你要使用eclipse开发你的代码,不管你是用java作为开发语言,还是用其他的如python作为开发语言,你都需要搭建这个环境.所以网上有很多Eclipse+j

[软件测试]Linux环境中简单清爽的Google Test (GTest)测试环境搭建(初级使用)

本文将介绍单元测试工具google test(GTEST)在linux操作系统中测试环境的搭建方法.本文属于google test使用的基础教程.在linux中使用google test之前,需要对如下知识有一些了解: (1)C/C++编程方法 (2)makefile的编写 (3)linux命令行操作 (4)GTEST背景知识:它是用来干什么的?它用什么语言编写的?它的一些基本语法?等等 以上知识不需要做到熟能生巧,只要达到入门级别,使用GTEST不会费任何力气,毕竟GTEST也不是一个高门槛的

Appium Android测试环境搭建 for Mac

Appium Android测试环境搭建 涉及的资源,工具都很多 ,从网上各种资料查找,整合一下资源,针对小白级别. 1.Appium安装: 转载自:http://www.cnblogs.com/oscarxie/p/3894559.html. 2.Mac配置Android环境变量: 转载自:http://www.jianshu.com/p/84f3baf1682c 3.Mac安装Android模拟器genymotion: 转载自:http://blog.csdn.net/l_215851356

测试环境搭建

软?件?测?试?环?境?的?搭?建 http://wenku.baidu.com/link?url=5SC-IFbVxfdiZzr4uJYrBVI543iMDzeWcWK9upvs_tsYkUYcsAU5j145jQDP_fZCtCA1Tz6XWDWx3FyxBPALNP2a4EUHOVic4nb2uQFxv-e 软件测试,测试环境搭建需要考虑哪些方面? http://zhidao.baidu.com/link?url=oBDiBjh9jTyo3g_ZSvZP67iFrbimu9aH-VinLF

【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结

Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃,最终成功运行,确实不容易,故此写篇文章,供大家参考,让大家少走弯路.一. 安装Appium(1) 先安装node-js,然后通过node-js命令安装 Appium     在https://nodejs.org/en/download/ 下载 macOS Installer (.pkg) 安装,

【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结

Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始iOS真机测试之前,请大家务必 将 Appium 1.6.3 + xcode 8 在iOS模拟器上的环境搭建OK,请参见我的上一篇博文:Appium 1.6.3在Xcode 8, iOS 10.2(模拟器)测试环境搭建经验总结 如果iOS模拟器上的环境OK,再来真机上搭建,要不然 你还是放弃吧. 进入

Hadoop单机Hadoop测试环境搭建

Hadoop单机Hadoop测试环境搭建: 1. 安装jdk,并配置环境变量,配置ssh免密码登录 2. 下载安装包hadoop-2.7.3.tar.gz 3. 配置/etc/hosts 127.0.0.1 YARN001 4. 解压缩hadoop-2.7.3.tar.gtz到/home/zhangzhenghai/cluster目录下 5. 配置etc/hadoop/hadoop-env.sh 配置JAVA_HOME环境变量 export JAVA_HOME=/home/zhangzhengh