适合selenium rc初学者的一个简单java测试案例

 

适合selenium rc初学者的一个简单java测试案例

刚学selenium rc的同学 们也许会被rc相对复杂的安装配置所吓到。不用怕!一步一步来,慢慢的你也会成为高手。这里我给初学者介绍一个非常简单的java测试案例,做这个测试案例之前首先要安装selenium-sever.jar和selenium-java-client-driver.jar到Java IDE里,这个测试案例我还用到了testframwork TestNG, 也要安装到Java IDE里,或者使用JUnit也行。流览器使用的是firefox.

测试步骤:

1. 打开google英文页面
2. 在搜索框里输入hello world
3. 点击搜索按钮
4. 点击页面上第一个链接Helloworld program - Wikipedia, the free encyclopedia
5. 检查wikipedia页面上是否有“Hello,World!”出现

这是一个非常简单的测试案例吧,用selenium ide就可以录制它,那么我们怎么通过selenium rc去实现它呢?

我们知道使用selenium rc需要启动selenium server,一般来说我们可以通过cmd打开它,这里我介绍一种直接用java程序打开server的方法,就不必使用cmd了。Java code如下:

测试案例我用了两个java class, 一个叫AbstractTest.java,里面设置了selenium server和selenium的基本配置。另一个叫HelloWorld.java,里面就是我们具体的测试步骤。HelloWorld继承了AbstractTest里的selenium变量。selenium server就是通过AbstractTest里的startSeleniumServer()打开的,要用代理上网的也可以通过此方法实现。

复制代码
  1. package selenium;

    import java.io.File;

    import org.openqa.selenium.server.RemoteControlConfiguration;
    import org.openqa.selenium.server.SeleniumServer;
    import org.testng.annotations.AfterClass;
    import org.testng.annotations.BeforeClass;

    import com.thoughtworks.selenium.DefaultSelenium;
    import com.thoughtworks.selenium.Selenium;

    public abstract class AbstractTest {
        protected Selenium selenium;
        protected static SeleniumServer seleniumServer;
        String browser = "*chrome";
        String url = "http://www.google.com";

        @BeforeClass
        public void setUp() throws Exception {
            startSeleniumServer();
            selenium = new DefaultSelenium("localhost", 4444, browser, url);
            selenium.start();
        }

        private void startSeleniumServer() throws Exception {
            String template = "C:/workspace/selenium-templates";
            RemoteControlConfiguration rcConf = new RemoteControlConfiguration();
            rcConf.setPort(4444);
            rcConf.setReuseBrowserSessions(true);
            rcConf.setBrowserSideLogEnabled(true);
            rcConf.setSingleWindow(true);
            rcConf.setFirefoxProfileTemplate(new File(template));
            seleniumServer = new SeleniumServer(rcConf);
            seleniumServer.start();

        }
       
        @AfterClass
        protected void stop() {
            selenium.stop();
            seleniumServer.stop();
        }

    }


复制代码
  1. package selenium;

    import org.testng.Assert;
    import org.testng.annotations.Test;


    public class HelloWorld extends AbstractTest{
        private final String DEFAULT_TIMEOUT = "30000";
        
        @Test
        public void searchHelloWorldByGoogle(){
            selenium.open("http://www.google.com/webhp?hl=en");
            selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
            selenium.type("//td/input[@title='Google Search']", "hello world");
            selenium.click("btnG");
            selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
            selenium.click("//a[@href='http://en.wikipedia.org/wiki/Hello_world_program']");
            selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
            Assert.assertTrue(selenium.isTextPresent("\"Hello, World!\""));
        }

    }

你可能感兴趣的:(java,exception,String,测试,selenium,import)