菜鸟学自动化测试(八)----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>
时间: 2016-04-27

菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)的相关文章

自动化测试学习(八) 基于maven的selenium 2.0环境搭建

之前我就讲过一种方试来搭建selenium rc 的环境搭建,那个文章是基于selenium RC 1.0的的方式,目前官网已经不提供1.0的下载了,我所提供的下载链接是CSDN上的. 其实,如果大家熟悉maven的话,selenium RC将变成易常简单,当然,我的操作还是基于java语言阵营的. 前提:你要有maven环境.关于maven环境的搭建,请参考本博客的关于maven的文章.左侧导航栏有maven环境搭建的相关文章. 第一步: Cmd打开命令提示符号,创建一个maven项目,命令如

java selenium教程环境搭建基于Maven_java

现在Java的大部分项目都是基于Maven,  在Maven项目中使用Selenium2. 非常简单.  首先你需要配置好Maven的环境 可以参考Maven安装以及eclipse配置maven的方法:  http://www.jb51.net/softjc/416034.html 官方的文档 http://docs.seleniumhq.org/download/maven.jsp 新建一个Maven的Project 添加如下到你的POM.XML, 就可以了 <dependency> <

solr4.0环境搭建

solr4.0环境搭建 因近期想搞个知识库,所以选择solr,现在最新的solr是4.0,所以用solr4.0. 服务器:tomcat6   JDK   :1.6  SOLR :4.0 中文分词器 :ik-analyzer,mmseg4j 安装:目前mmseg4j的版本是mmseg4j-1.9.0.v20120712-SNAPSHOT,经过测试,发现这个版本有bug: java.lang.RuntimeException: java.lang.NoSuchMethodError: org.apa

菜鸟学自动化测试(一)----selenium IDE

----//前言     对于,我们做测试的新手来说,自动化测试一直是一个比较高级的领域,当然是相对于手工测试来说.最近,对自动化测试产生了兴趣.不,具体点应该是对 selenium工具产生了兴趣.为什么不是QTP呢,之前,QTP也有学习,后来还买了本<QTP自动化测试进阶指南>,看了几天,不知为什么看不下 去.嗯!我一直偏爱于开源的技术和工具.最早用LR做性能测试,后来发现了JMeter那个小工具后,基本上能用JMeter解决的问题,就不在用LR 了.开源的东西好处多多,当然了不足也多多.这

菜鸟学自动化测试(二)----selenium IDE 功能扩展

通过上一节的学习,相信我们已经会selnium IDE的基本使用了,为了使selenium 更强大,其实selenium 还提供了良好的扩展能力. ----//用户扩展 用户扩展就是使用javaScript文件来创建定制化特性,添加新功能,通常情况下这种扩展就是定制化命令,但扩展并不仅限于命令. 这里有一些列的扩展:http://wiki.openqa.org/display/SEL/Contributed+User-Extensions   1.下面我们利用扩展的方式,产生一个用户随机数字 为

菜鸟学自动化测试(七)----selenium RC 工作原理

关于selenium RC环境搭建(基于java语言),我在系统的学习selenium之前就已经做了,并在我的这个系列的文章中可以找到.那是照着一位前辈的视频操作完成的,我详细的记录的操作步骤. 在这里我们一起了解一下selenium RC的工作原理.   简介 那么之前学习的了selenium IDE与selenium命令,那么是不是我们用selenium IDE就可以完成我们的所有自动化测试工作了呢?No !Selenium IDE 没我们认为的那么强大,在实际的项目中会有各种复杂的操作,如

菜鸟学自动化测试(五)-----selenium命令之定位页面元素

定位页面元素 对于很多selenium命令,target域是必须的.Target在web页面范围内识别UI元素,它使用locatorType=location的格式.在很多情况下,locatorType可以省略,下面举例方式来描述各种类型的locatorType. 假如,有如下一段HTML代码: html> <body> <form id= "loginForm" > <input name= "username" type= &

菜鸟学自动化测试(三)----selenium 命令

关于,selenium 命令这一部分,为了便于像我一样的菜鸟理解,我采用通过例子讲命令的方式.边学边总结吧!相互学习.呵呵. 菜鸟Selenium 命令通常被称为selenese,有一系列运行测试案例所需的命令构成.   ----// Actions   ----// Actions   Actions描述了用户所会作出的操作. Action 有两种形式: action和actionAndWait, action会立即执行,而actionAndWait会假设需要较长时间才能得到该action的相

菜鸟学自动化测试(四)----selenium 命令之验证页面元素

根据上一节计划,这里我们来学习一下如何验证页面元素. ----//验证页面元素 验证页面上的UI元素,是你在自动化测试案例过程中最常用到的特性.Selenese通过各种方式验证UI元素. 举例,你是否正在测试一下情况: (1)一个UI元素存在于页面上某个位置: (2)特定文本存在于页面上某个位置: (3)特定文本存在于页面上指定位置: 如果你要测试文本标题,那么文本内容和它所在的页面顶部位置,测试案例都需要关心.如果你要测试主页上的某个图片,但是开发人员经常改变图片所在的位置,那么你只要测试特定