51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 18236|回复: 11
打印 上一主题 下一主题

【我分享】Selenium终极自动化测试环境搭建:Selenium+Eclipse+Junit+TestNG

[复制链接]
  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2015-1-7 08:54:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    第一步 安装JDK
    JDk1.7.
    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
    一路猛击‘下一步’,OK。安装完成后配置环境变量:
    JAVA_HOME = E:\Java\Java\jdk1.7.0_15
    PATH = %JAVA_HOME%\bin
    CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
    配置完环境变量后,CMD命令行输入:java -version,返回如下结果,则表示安装成功:

    第二步 下载Eclipse
    下载地址:http://www.eclipse.org/download/
    最新的Eclipse Standard 4.3, 198 MB,下载的都是不用安装的,解压出来后直接用。
    第三步 下载Selenium IDE、SeleniumRC、IEDriverServer、SeleniumClient Drivers
    下载地址:http://www.seleniumhq.org/download/
    1、 Selenium IDE:selenium-ide-2.2.0.xpi 用来在Firefox上录制脚本。
    2、 Selenium RC:selenium-server-standalone-2.33.0.jar 模拟服务器端,不可少。
    3、 IEDriverServer:DriverServer_Win32_2.33.0.zip IE驱动,Firfox和chorm不用驱动。
    4、 Selenium Client Drivers:selenium-java-2.33.0.zip 模拟Selenium客户端。

    这里,我将下载得到的所有文件,全存放在E:\eclipse\selenium下面,方便管理:

    第四步 下载Firefox
    下载地址:http://www.firefox.com.cn/download/
    下载得到文件:Firefox-latest.exe
    第五步 安装IDE、Firebug、Xpath checker、Xpath finder
    安装完Firefox后,打开Firefox,把前面下载的selenium-ide-2.2.0xpi拖放到Firefox,弹出下图后,安装即可。

    Firebug、Xpath checker、Xpath finder,打开firefox浏览器,选择工具――附加组件,打开附加组件管理器页面,搜索firebug、Xpath。
    将查询到的firebug、xpath checker、xpath finder都装上,重启浏览器后生效:


    SeleniumIDE、Firebug和xpath的用法,可以百度Selenium私房菜(新手入门教程).pdf,里面有很好的说明。
    第六步 启动SeleniumRC
    启动seleniumRC的方法:
    cmd命令行进入selenium-server-standalone-2[1].33.0.jar存放目录,输入如下命令
    java -jar selenium-server-standalone-2[1].12.0.jar

    为了方便,可以将启动命令写一个bat来执行,Run_selenium.bat,内容如下:
    1 @echo off2 3 cd E:\eclipse\selenium4 5 E:6 java -jar selenium-server-standalone-2.33.0.jar
    第七步 Eclipse执行Selenium的Java实例
    -----7.1
    打开Eclipse,新建一个工程File—new—Java Project

    -----7.2
    输入工程名:Selenum,next


    -----7.3
    接下来,窗口进入Java Settings,选择Libraries,点击Addlibrary。
    引用Junit4的Jar包(E:\eclipse\plugins\org.junit_4.11.0.v2XXXX)。
    然后点击Add External Jars..,
    引用Selenium相关的包(E:\eclipse\selenium),最终Libraries如下:

    完成后,Java视图如下:

    -----7.4
    右击src,new->package新建一个包Selenium_Test,
    再右击包Selenium_Test,new->class,新建一个Class类Case1.java,最终效果如下:

    -----7.5
    下面我们来用IE浏览器执行一个实例,修改Case1.java,代码如下:

    1 package Selenium_Test; 2 3 import org.openqa.selenium.By; 4 import org.openqa.selenium.WebDriver; 5 import org.openqa.selenium.WebElement; 6 import org.openqa.selenium.ie.InternetExplorerDriver; 7 import org.openqa.selenium.remote.DesiredCapabilities; 8 9 public class Case1 {10 11  public static void main(String[] args) {12 13   System.setProperty("webdriver.ie.driver",14     "E:\\eclipse\\selenium\\IEDriverServer.exe");//注意这里IEDriverServer.exe的文件存放路径15   DesiredCapabilities ieCapabilities = DesiredCapabilities16     .internetExplorer();17   ieCapabilities18     .setCapability(19       InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,20       true);21 22   WebDriver driver = new InternetExplorerDriver(ieCapabilities);23 24   driver.get("http://www.google.com.hk");25   WebElement element = driver.findElement(By.name("q"));26   element.sendKeys("hello Selenium!");27   element.submit();28   try {29    Thread.sleep(3000);30   } catch (InterruptedException e) {31    e.printStackTrace();32   }33   System.out.println("Page title is: " + driver.getTitle());34 35   driver.quit();36  }37 38 }

    -----7.6
    运行Run_selenium.bat,启动Selenium RC服务器。
    然后右击Case1.Java,Run As—>Java Application,执行成功结果如下:

    下面我们通过Junit来运行脚本,脚本需要修改一下,因为Junit的Java文件有它自己的格式。
    第八步 Eclipse通过Junit执行Selenium的Java实例
    -----8.1
    右击Selenium_Test,new->Junit test case 新建一个Case2.java。


    完成后如下:
    -----8.2
    修改Case2.java代码如下:

    1 package Selenium_Test; 2 3 import org.junit.*; 4 import org.openqa.selenium.*; 5 import org.openqa.selenium.firefox.FirefoxDriver; 6 7 public class Case2 { 8  WebDriver driver; 9 10  @Before11  public void setUp() throws Exception {12   driver = new FirefoxDriver();13  }14 15  @Test16  public void test_case2() throws Exception {17   driver.get("http://www.google.com.hk");18   WebElement element = driver.findElement(By.name("q"));19   element.sendKeys("hello Selenium!");20   element.submit();21  }22 23  @After24  public void tearDown() throws Exception {25   System.out.println("Page title is: " + driver.getTitle());26   driver.quit();27  }28 }

    -----8.3
    运行Run_selenium.bat,启动Selenium RC服务器(前面RC启动后若未关闭,则无需启动多个)。
    右击Case2.java,Run As—>Junit Test,执行成功结果如下:

    第九步 Eclipse通过TestNG执行Selenium的Java实例
    -----9.1
    安装 TestNG
     在 Eclipse 中,点击 Help -> Install new software ,在 add 栏中输入http://beust.com/eclipse,在下面就会看到 TestNG.选中点击安装,按下一步直到安装完,在线安装会有点很慢。

    安装完重启Eclipse后,在 window->Show View->other 里面选中Java->TestNG,就会出现TestNG选项了。



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏11
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    2#
     楼主| 发表于 2015-1-7 08:54:25 | 只看该作者
    -----9.2

    右击包Selenium_Test,new->other->TestNG新建一个 TestNG 的测试类Case3.java。

    完成后如下:

    修改Case3.java脚本内容如下:
    复制代码

    1 package Selenium_Test;
    2
    3 import org.testng.annotations.Test;
    4 import org.openqa.selenium.By;
    5 import org.openqa.selenium.WebDriver;
    6 import org.openqa.selenium.WebElement;
    7 import org.testng.annotations.BeforeMethod;
    8 import org.testng.annotations.AfterMethod;
    9 import org.openqa.selenium.firefox.FirefoxDriver;
    10
    11 public class Case3 {
    12  WebDriver driver;
    13
    14  @BeforeMethod
    15  public void beforeMethod() {
    16
    17  }
    18
    19  @AfterMethod
    20  public void afterMethod() {
    21   System.out.println("Page title is: " + driver.getTitle());
    22   driver.quit();
    23  }
    24
    25  @Test
    26  public void test_case3() {
    27   driver = new FirefoxDriver();
    28   driver.get("http://www.google.com.hk");
    29   WebElement element = driver.findElement(By.name("q"));
    30   element.sendKeys("hello Selenium!");
    31   element.submit();
    32  }
    33 }

    复制代码

    -----9.3

    运行Run_selenium.bat,启动Selenium RC服务器。

    右击Case3.java,Run as->TestNG Test,执行成功结果如下:

    执行完,会生成一个test-output文件夹,文件夹下面的index.html就是测试报告,如下:

    以上是在Eclipse下如何搭建Selenium的测试环境,包括直接执行.java,通过Junit执行.java,通过TestNG执行.java。

    原文链接:http://blog.csdn.net/mao1059568684/article/details/17347853
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-9-18 13:36
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
    发表于 2015-9-18 18:23:57 | 只看该作者
    支持了,能把所有的软件分享到百度网盘吗
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-11-22 09:27
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
    发表于 2016-5-11 09:38:35 | 只看该作者
    selenium的软件下载失败,是不是存储位置发生了变化,能再共享一下吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-11-22 09:27
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    5#
    发表于 2016-5-11 09:39:22 | 只看该作者
    selenium软件的下载失败,是不是存储地址发生了变化,能再次共享一下吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-11-22 09:27
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    6#
    发表于 2016-5-11 09:43:00 | 只看该作者
    selenium下载地址打不开了,是不是存储位置发生了变化,能再共享一下吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-7-12 11:46
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2016-7-12 11:47:59 | 只看该作者
    图片看不到了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-3-18 12:29
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    8#
    发表于 2016-7-12 16:56:57 | 只看该作者
    楼主能共享下软件插件吗,好多网页我都打不开啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-2-15 10:39
  • 签到天数: 98 天

    连续签到: 1 天

    [LV.6]测试旅长

    9#
    发表于 2016-9-2 18:28:02 | 只看该作者
    Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function
            at com.lgy.Selenium_Test.Case1.main(Case1.java:19)
    Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function
            at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
            ... 1 more


    大神们    抛出了上述的异常  是要去导入一个google common jar的包还是要怎样解决   
    小弟新手  多谢了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-10-19 00:09
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    10#
    发表于 2016-10-18 22:54:02 | 只看该作者
    颓败WU宇 发表于 2016-9-2 18:28
    Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function
            at com. ...

    没引入对应的jar包
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-1-4 20:31
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]测试连长

    11#
    发表于 2016-12-7 18:23:08 | 只看该作者
    请问是上传路径变化了吗 selenium下载失败了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 03:07 , Processed in 0.069548 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表