返回列表

转载:selenium+testNG-自动化测试环境的搭建

默认分类 2013-03-07 14:58:02

原文地址: http://ruilin215.iteye.com/blog/1206975

准备工作:

Jdk

版本:建议1.5 以上

下载地址:http://www.oracle.com/technetwork/java/index.htm

Eclipse(Eclipse Java EE IDE for Web Developers)

版本:Version: Helios Service Release 1

下载地址:http://www.eclipse.org/downloads/

Testng:

版本:6.0.1

下载地址:http://testng.org/doc/download.html

Selenium:

版本:1.0.1 server与client统一

下载地址:http://seleniumhq.org/download/

环境搭建:

1> 安装JDK

2> 安装eclipse(附件中为绿色版本,下载后直接使用)

3> Eclipse中点击Help->Install new software

4> 点击Add在Location输入http://beust.com/eclipse; ,点击下一步

5> 选中Testng版本,点击Next,按照提示安装,安装完之后重启Eclipse,此安装为网络下载,可能过程会很慢,请静心等待。

下面测试一下搭建环境是否可用:

1) 新建JavaProject,右键BuildPath,添加testng.jar和selenium-java-client-driver.jar

2) 新建一个java类,C:\Java\workspace g\src\clazz\Open.java 代码如下:

    package clazz;

    import com.thoughtworks.selenium.*;
    import org.testng.annotations.*;

    public class Open {
        public Selenium selenium;

        @BeforeClass
        public void setUp() throws Exception {
            selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://sina.com.cn");
            selenium.start();
        }

        @Test
        public void testLogin() throws Exception {
            selenium.open("/");
        }

        @AfterClass
        public void tearDown() throws Exception {
            if (selenium != null) {
                selenium.stop();
            }
        }
    }

3) 在Open.java右键点击RunAs->testNG Test,如果出现了selenium的“selenium remote control”窗口,并同时出现回放界面,则说明一切正常~

这种单独使用 Selenium的测试,需要启动Selenium-server.jar,即需要先在cmd的窗口中,运行:

\> java -jar selenium-server-standalone-2.31.0.jar

也可建一批处理文件 xx.bat,内容为:java -jar Selenium-server的绝对路径\selenium-server.jar

附:一个Webdriver的简单实例,C:\Java\workspace g\src\clazz\Selenium2Example.java

    package clazz;

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.firefox.FirefoxDriver;
    //import org.openqa.selenium.htmlunit.HtmlUnitDriver;
    import org.openqa.selenium.support.ui.ExpectedCondition;
    import org.openqa.selenium.support.ui.WebDriverWait;

    public class Selenium2Example  {
        public static void main(String[] args) {
            // 用Firefox driver创建一个新的的实例
            //注意:其他的代码依赖于界面
            //不执行

            //System.setProperty ( "webdriver.firefox.bin" , "E:/Program Files/Mozilla Firefox/firefox.exe" );
            WebDriver driver = new FirefoxDriver();// 这里我们可以使用firefox来运行测试用例
            //WebDriver driver = new ChromeDriver(); //这是chrome浏览器的驱动
            //WebDriver driver = new InternetExplorerDriver(); //这是IE浏览器的驱动
           // WebDriver driver = new HtmlUnitDriver(); //这是一个无界面测试模式,不用打开浏览器,通过后台输入来判断测试用例是否通过

            // 现在用这个来访问谷歌
            driver.get("http://www.google.com");
            // 也可以用下面的方式访问谷歌
            // driver.navigate().to("http://www.google.com");

            // 找到文本输入元件的名字
            WebElement element = driver.findElement(By.name("q"));

            // 在搜索框内输入“cheese!”
            element.sendKeys("Cheese!");

            // 现在递交表格. WebDriver会发现我们的形式元素
            element.submit();

            // 后台打印输出,检查网页的标题
            System.out.println("Page title is: " + driver.getTitle());

            // 谷歌的搜索是渲染过的动态JavaScript. 等待页面加载,暂停10秒
            (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
                public Boolean apply(WebDriver d) {
                    return d.getTitle().toLowerCase().startsWith("cheese!");
                }
            });

            // Should see: "cheese! - Google Search"
            System.out.println("Page title is: " + driver.getTitle());

            //关闭浏览器
            driver.quit();
        }
    }