`
ruilin215
  • 浏览: 1101488 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Automating web flow with Selenium and Eclipse IDE

 
阅读更多

Selenium Eclipse IDE 实现自动化的网络流量【译文】

URL: http://blog.testsautomation.com/2009/11/automating-web-flow-with-selenium-and-eclipse-ide/

译者: Rita 原作者: Waldemar

也许你已经很了解 Selenium 了,它是个很基础的免费开源网络应用功能测试工具,而且它是被大部分人认为可以替代 QTP 的一款测试工具。我最近发现 Selenium 对于负载测试自动化数据生成很有帮助。

下面是对如何设置 Eclipse 和通过它运行 Selenium 脚本的简短介绍。

1> 下载 Eclipse IDE 地址: http://www.eclipse.org/downloads/

2> 下载 Selenium RC 地址: http://seleniumhq.org/download/

3> 下载 Junit 地址: http://www.junit.org/

4> Eclipse 中创建一个新项目:菜单选择 File à New à Projece à JavaProjece ,然后输入一个项目名字如 “Sample” ,点击 “Finish” 按钮创建完毕。

5> 导入 Selenium JUnit 包:在 Package Explorer 标签页中右键单击项目名字 “sample”

选择 “Properties”, 点击左侧 “Java Build Path” ,选择 “Libraries” 标签,点击右侧 “Add External JARs” 并导入 junit-4.7.jar selenium-java-client-driver.jar 两个包。

现在我们的 Eclipse 环境已经创建好了。下一步准备在 Selenium IDE 中的测试用例,为此我已经准备好了一个小测试,是在 google 中查询 ”linux” 一词。在 Selenium IDE “option” 中,依次选择 Format -> Java (Junit) Selenium RC 。开始用 Selenium IDE 录制的脚本是类似这样的:

package com.example.tests;

import com.thoughtworks.selenium.*;

import java.util.regex.Pattern;

public class Untitled extends SeleneseTestCase {

public void setUp() throws Exception {

setUp("http://change-this-to-the-site-you-are-testing/", "*chrome");

}

public void testUntitled() throws Exception {

selenium.open("/");

selenium.type("q", "linux");

selenium.click("btnG");

selenium.waitForPageToLoad("30000");

}

}

默认在 Selenium 中生成的 Junit 代码不能用于 Selenium RC ,正因如此,我更新了一下代码,使其连接到本地 Selenium RC 4444 端口,更新代码如下:

package com.example.tests;

import com.thoughtworks.selenium.*;

import java.util.regex.Pattern ;

public class Untitled extends SeleneseTestCase {

public DefaultSelenium selenium ;

public void setUp() throws Exception {

selenium = new DefaultSelenium( "localhost" , 4444, "*iexplore" , "http://www.google.com/" );

selenium .start();

}

public void testUntitled() throws Exception {

selenium .open( "/" );

selenium .type( "q" , "linux" );

selenium .click( "btnG" );

selenium .waitForPageToLoad( "30000" );

}

}

接下来我们把它加入到 Eclipse 项目中:在 Package Explorer 标签页中右键单击项目名字,选择 New -> Class ,输入类名 Untitled_linux package name “com.example.tests” ,点击 “Finish” 按钮完成。

在运行我们的测试前,还需要开启 Selenium RC 。从系统的命令行进入目录: selenium-remote-control-1.0.1/selenium-server-1.0.1 ,运行命令 “java -jar selenium-server.jar” 。它将在 4444 端口运行 Selenium RC

现在开始运行测试(Rita 注:把在 Selenium 中录制或更新的脚本代码 copy Eclipse 的类“ Untitled_linux ”中,见下图 ) ,选择菜单 Run -> Run As -> Junit test 即可(或者直接点击运行按钮)。运行后将打开两个 IE 窗口,一个是 Selenium RC 窗口,另一个是 Google 搜索 ”linux” 的结果窗口。 (Rita 注:运行前一定要确保在 Eclipse 中的类名和测试脚本的类名一致,否则运行会失败。如我之前创建的类名为 Untitled_linux ,故要确保测试脚本中“ public class Untitled_linux extends SeleneseTestCase ”的类名一致 )

因为我们运行了 Java 代码,在此仅仅提到如何想去运行测试。下面是我更新了上面的例子的代码,改为 5 秒间隔循环搜索 5 次:

package com.example.tests;

import com.thoughtworks.selenium.*;

import java.util.regex.Pattern ;

public class Untitled_linux extends SeleneseTestCase {

public DefaultSelenium selenium ;

public void setUp() throws Exception {

selenium = new DefaultSelenium( "localhost" , 4444, "*iexplore" , "http://www.google.com/" );

selenium .start();

}

public void testUntitled() throws Exception {

for ( int i = 0; i < 5; i++)

{

selenium .open( "/" );

selenium .type( "q" , "linux" );

selenium .click( "btnG" );

selenium .waitForPageToLoad( "30000" );

Thread.sleep (5000);

}

}

}

最后,运行成功后命令行窗口会显示如下信息:


Eclipse 中会显示如下运行成功的界面:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics