有问题我无法解决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);
}
}
答案 0 :(得分:0)
你到底是什么意思?您是否尝试同时访问同一站点的多个浏览器?如果是这样,您将需要设置多个驱动程序实例。
如果您想按顺序实现它,只需使用循环打开驱动程序并获取URL,执行操作,然后终止驱动程序实例,重复。