使用selenium登录所有浏览器

时间:2015-01-06 18:47:17

标签: java selenium login

有问题我无法解决2天。我需要在同一站点的许多机器上登录许多浏览器。这是一项耗时的任务,所以我决定用Selenium来做。我认为问题是,运行测试硒时不能保存cookie。我发现它真实地将cookie保存在文件中,然后在下一个selenium测试中打开它,但我需要所有浏览器都登录进行手动测试。这是我的代码

package automationFramework;
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;

public class FirstTestCase {
    private WebDriver driver;
    private String baseUrl;
    private boolean acceptNextAlert = true;
    private StringBuffer verificationErrors = new StringBuffer();

@Before
public void setUp() throws Exception {

    File profileDirectory = new File(
            "C:\\Users\\User\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\n8a2y7sp.default");//path to firefox profile
    FirefoxProfile profile = new FirefoxProfile(profileDirectory);
    driver = new FirefoxDriver(profile);
    baseUrl = "http://facebook.com/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

}

@Test
public void testVk() throws Exception {
    driver.get(baseUrl);
    driver.findElement(By.id("email")).clear();
    driver.findElement(By.id("email")).sendKeys(""); // login   
    driver.findElement(By.id("pass")).clear();
    driver.findElement(By.id("pass")).sendKeys(""); //password
    driver.findElement(By.id("loginbutton")).click();

}

@After
public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
        fail(verificationErrorString);
    }
}

1 个答案:

答案 0 :(得分:0)

你到底是什么意思?您是否尝试同时访问同一站点的多个浏览器?如果是这样,您将需要设置多个驱动程序实例。

如果您想按顺序实现它,只需使用循环打开驱动程序并获取URL,执行操作,然后终止驱动程序实例,重复。