菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)
之前我就讲过一种方试来搭建selenium rc 的环境搭建,那个文章是基于selenium RC 1.0的的方式,目前官网已经不提供1.0的下载了,我所提供的下载链接是CSDN上的。
其实,如果大家熟悉maven的话,selenium RC将变成易常简单,当然,我的操作还是基于java语言阵营的。
前提:你要有maven环境。关于maven环境的搭建,请参考本博客的关于maven的文章。左侧导航栏有maven环境搭建的相关文章。
第一步:
Cmd打开命令提示符号,创建一个maven项目,命令如下:
mvn archetype:generate -DgroupId=MySel20Proj -DartifactId=MySel20Proj -Dversion=1.0
打开创建的项目,找到项目目录下面的pom.xml文件,打开,在<dependencies>...</dependencies>之前加上如下内容:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.16.1</version> </dependency>
我们将junit的版本改为4.2 。修改之后完整的pom.xml代码如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>MySel20Proj</groupId> <artifactId>MySel20Proj</artifactId> <version>1.0</version> <packaging>jar</packaging> <name>MySel20Proj</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.2</version> <scope>test</scope> </dependency>
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.16.1</version> </dependency> </dependencies> </project>
Ok.!现在在命令提示符号下切换到项目目录下:
D:java\MySel20Proj> mvn eclipse:clean
D:java\MySel20Proj> mvn eclipse:eclipse 执行这个需要下载相应的包,时间会久一些。
现在把我们构建好的项目导入eclipse中,如果有问题请参考我的maven文章。
http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html
我们依然用之前的代码进行测试,(这段代码还是基于selenium 1.0的selenium RC)
import com.thoughtworks.selenium.*;import org.junit.After;import org.junit.Before;import org.junit.Test;import java.util.regex.Pattern; public class test extends SeleneseTestCase { @Before public void setUp() throws Exception { selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://www.baidu.com/"); selenium.start(); } @Test public void testTest() throws Exception { selenium.open("/"); selenium.type("id=kw", "aaaa"); selenium.click("id=su"); } @After public void tearDown() throws Exception { selenium.stop(); } }
当然,你可以用可用selenium IDE录制脚本,将脚本导出成java所类型的语言进行测试,方式参考:
http://www.cnblogs.com/fnng/archive/2011/10/19/2217506.html
--上面的代码与方式,已经不是推荐使用的方式了。因为selenium 2.0来了,selenium RC的舞台该退场了。
详解maven方式添加插件
为了得到一个不同的selenium Maven工件的概述,请看下图,它显示selenium Maven工件以及最重要的类以及这些类接口之间的依赖关系:
如果你想使用不同的WebDriver来运行代码,如:FirefoxDriver 你不必依靠selenium Java 构建(其中有很多的传递依赖),你只需要需要在pom.xml文件中添加相应的插件就可以了。
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-firefox-driver</artifactId> <version>2.18.0</version></dependency>
然后,在cmd(命令提示符)下,将项目重新构建一下就行了(再次执行mvn eclipse:eclipse 命令)。Maven自动下载我们所需要的FirefoxDriver 相关jar包。
如果您正在使用DefaultSelenium(或RemoteWebDriver的 实现),你仍然需要启动Selenium Server。最好的办法是下载selenium Server standalone.jar ,只是用它。此外,您还可以嵌入到自己的项目Selenium Server,下面的依赖关系,如果你添加到你的pom.xml:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-server</artifactId> <version>2.18.0</version></dependency>
注意:这个selenium Server 产品依赖于servlet-API-2.5 产品。如果你的项目运行在一个web应用程序容器的依赖,你应该排除。
第三方的浏览器不被支持,请用seleniumhq 开发的插件;
<dependency> <groupId>com.opera</groupId> <artifactId>operadriver</artifactId> <version>0.10</version></dependency>
以上参考内容:
http://seleniumhq.org/docs/03_webdriver.html
http://seleniumhq.org/download/maven.html
什么是Selenium 2.0 ?
从较高的层次看,Selenium由三种工具组成。第一个工具Selenium IDE,是Firefox的扩展插件,支持用户录制和回访测试。录制/回访模式?存在局限性,对许多用户来说并不适合,因此第二个工具——Selenium WebDriver提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应用程序。最后一个工具——Selenium Grid帮助工程师使用Selenium API控制分布在一系列机器上的浏览器实例,支持并发运行更多测试。在项目内部,它们分别被称为“IDE”、“WebDriver”和“Grid”。
而现在我们大家能看到的:selenium2.0 = selenium1.0+ webdriver
什么是WebDriver?
WebDriver是一个自动化测试Web应用程序的工具,尤其以验证它们是否如预期运作。它旨在提供一个友好的API,它很容易探讨和理解,更容易比的Selenium-RC(1.0)API,这将有助于使你的测试更容易阅读和维护使用。它不依赖任何特定的测试框架,因此它可以用来在一个单元测试,或从一个普通的旧的“main”的方法同样。
下一节来学习如何selenium 2.0的新东东 webdriver !
转载于:https://www.cnblogs.com/daidaidgl/p/5997911.html
菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)相关推荐
- Web应用测试(一)Selenium介绍及环境搭建
Selenium介绍及环境搭建 一.背景介绍: (更好的阅读体验,请移步我的个人博客)软件测试比赛刚刚落下帷幕,在空档期,写写这些天的感受.不知不觉参加了好多次软件测试比赛了,开发者测试,移动应用测试 ...
- (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功
(win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 Visual Studio 2015下载地址:https://msdn.itellyo ...
- vSphere 5.0 开发系列(一)vSphere 5.0 环境搭建手顺
vSphere 5.0 开发系列(一)vSphere 5.0 环境搭建手顺 首先我们要简单了解一下vSphere整体设计结构. 接下来开始做服务器吧. 一.先做ESXi5.0服务器 找到一台干净服务器 ...
- 鸿蒙os2.0环境搭建gradle-5.4.1-all.zip下载失败问题解决方案
鸿蒙os2.0环境搭建gradle-5.4.1-all.zip下载失败问题解决方案 解决 gradle-5.4.1-zip因拉取超时而失败的这个问题 鸿蒙官网的解决方案 1.按照上面链接找到 环境安装 ...
- yolov5-4.0环境搭建,零基础小白都能看得懂的教程。YOLOv5搭建的最快搭建方式,踩坑经历详谈)yolov5/yolov4/yolov3/yolov3通>>>>>>>>>>>>>>>>>第一章
第一章:python最新YOLOv5-4.0环境搭建,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 环境准备: yolov5-4.0环境搭建整体说明 2,anaconda的 ...
- 基础环境搭建——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(五)
系列文章目录 初识推荐系统--基于Spark平台的协同过滤实时电影推荐系统项目系列博客(一) 利用用户行为数据--基于Spark平台的协同过滤实时电影推荐系统项目系列博客(二) 项目主要效果展示--基 ...
- 从0开始搭建基于UVM的验证平台 ----- phase0.0
从0开始搭建基于UVM的验证平台-----phase 0.0 0. Introduction 1. Creating simple test 2. Build your own test case 3 ...
- selenium自动化测试-1.selenium介绍及环境安装
今天给大家介绍selenium及环境安装 其中包括 python环境安装 selenium环境安装 Chrome驱动安装 Firefox驱动安装 之后会陆续给大家介绍selenium系列 请不要错过我 ...
- 移动端自动化测试(一)appium环境搭建
自动化测试有主要有两个分类,接口自动化和ui自动化,ui自动化呢又分移动端的和web端的,当然还有c/s架构的,这种桌面程序应用的自动化,使用QTP,只不过现在没人做了. web自动化呢,现在基本上都 ...
- Robot Framework + Selenium library + IEDriver环境搭建
转载:https://www.cnblogs.com/Ming8006/p/4998492.html#c.d 目录: 1 安装文件准备 2 Robot框架结构 3 环境搭建 3.1 安装Pytho ...
最新文章
- 通过loganalyzer展示数据库中的日志
- abstractset java_AbstractSet源码分析-java8
- 如何ASP.NET Core Razor中处理Ajax请求
- shell 提取sql 的字段名表名_Mysql 常用SQL语句集锦(仅学习)
- jvm内存结构_JVM系列之内存结构
- LayerDrawable层叠样式layer
- Excel文件读取的两种方式
- Android开发笔记(五十五)手机设备基本操作
- Python_装饰器精讲_33
- 【元胞自动机】基于matlab激进策略元胞自动机三车道(不开放辅路,软件园不影响)交通流模型【含Matlab源码 1296期】
- 工作说明书(SOW)
- 在计算机里看不到硬盘的信息,在电脑bios里面检测不到硬盘如何解决?
- python 横坐标只显示部分数据,Python使用matplotlib在x轴上显示特定值
- 《禅与摩托车维修艺术》读后感
- Mybatis-plus 报错:Invalid bound statement(not found):XXX
- VC++6.0报错: include stdafx.h before including this file for PCH
- 再谈解决“因为文件包含病毒或潜在的垃圾软件”系统找不到gpedit.msc
- apollo学习笔记十二:apollo规划技术(二)
- mybatis查询时间段sql语句和DATE_FORMAT
- 如何在线生成动态gif图片?轻松一键教你在线制作gif
热门文章
- java 缓存日志_Java日志缓存机制的实现(3)
- linux基础学习【6】
- idea的使用记录一
- 迪斯尼:我们根本没被黑 整件事实际上是一场骗局
- C# 传递给C++函数的结构体没有对齐的问题
- jdbc防止sql注入-PreparedStatement
- 摄像机、投影、3D旋转、缩放
- NullableTypes for .NET
- 【相机标定系列】0415 图像缩放之后相机内参变化,调整图像大小如何影响固有相机矩阵?
- 批量梯度下降(BGD)、小批量梯度下降(mini-BGD)、随机梯度下降(SGD)优缺点比较