gjh4285 发表于 2014-11-8 15:29:32

junit测试selenium webdriver

有大神 帮忙解决个问题呢 我junit写了3个方法 第一个打开浏览器 第二个登陆 第三个退出浏览器 为什么用junit调用selenium webserver 会失败 ,在main函数(也是这三个方法)不会失败

附上代码:
package WebDriverPackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class WebDriverTest {
        private String url = "http://www.baidu.com/";
        WebDriver driver = new FirefoxDriver();
        public void openUrl(){
                driver.get(url);
        }
        public void login(){
                driver.findElement(By.linkText("登录")).click();
        }
        public void quit(){
                driver.quit();
        }

        /**
       * @param args
       */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                WebDriverTest driverTest = new WebDriverTest();
                driverTest.openUrl();
                driverTest.login();
                driverTest.quit();

        }

}

JUnit测试代码:
package WebDriverPackage;

import static org.junit.Assert.*;

import org.junit.Test;

public class WebDriverTestTest {
        WebDriverTest driverTest = new WebDriverTest();

        @Test
        public void testOpenUrl() {
                driverTest.openUrl();

        }

        @Test
        public void testLogin() {
                driverTest.login();

        }

        @Test
        public void testQuit() {
                driverTest.quit();

        }

}

gjh4285 发表于 2014-11-8 15:30:36

在线坐等大神帮忙了啊,谢谢啊

carlli213 发表于 2014-11-8 21:16:40

根据以往测试经验来看,junit运行三个方法应该是独立的,没有依次承接关系,如如果可以建议加一个 把对象实例化放在setUp中试一下。

gjh4285 发表于 2014-11-9 21:32:12

carlli213 发表于 2014-11-8 21:16
根据以往测试经验来看,junit运行三个方法应该是独立的,没有依次承接关系,如如果可以建议加一个 把对象实 ...

谢谢,我想也应该是这么干比较好

gjh4285 发表于 2014-11-9 21:32:47

carlli213 发表于 2014-11-8 21:16
根据以往测试经验来看,junit运行三个方法应该是独立的,没有依次承接关系,如如果可以建议加一个 把对象实 ...

谢谢

joykao 发表于 2014-11-10 10:23:13

junit还是不要这样用,如果你用junit的话,本身他就提供了一个完成的测试架构
before
test
after
开始的环境设置,前置条件什么的可以放在before中,在test中写你真正用例的代码,在after中写关于结束的代码,整个框架式按照before->test->after来执行的

Minoz_Vicky 发表于 2014-11-10 18:02:18

junit 好像都是@ before @ test @after 这个顺序的
页: [1]
查看完整版本: junit测试selenium webdriver