使用Selenium WebDriver进行浏览器会话测试

时间:2016-03-10 01:32:45

标签: session selenium selenium-webdriver

我有以下自动化方案:

  1. 用户登录网站。导航到网站上的某个页面
  2. 保存该页面的网址。
  3. 关闭浏览器
  4. 再次打开浏览器并导航到已保存的网址。
  5. 用户应该能够在不登录的情况下查看该页面。
  6. 我可以自动执行前3个步骤。但是当我在步骤4中再次打开浏览器时,会启动一个新会话,并且我的用户会看到登录页面。 我相信网络驱动程序浏览器处于隐身模式。因此,不存储会话cookie。

    有没有办法使用selenium web driver自动化这个场景?

2 个答案:

答案 0 :(得分:0)

这是因为每次调用浏览器时,selenium都会打开一个新的浏览器配置文件。所以你的cookie会丢失..

您可以第二次注入Cookie ..

Cookie ck = new Cookie("name", "value");
driver.manage().addCookie(ck);

或者您可以为驱动程序使用相同的浏览器配置文件..

FirefoxBinary binary = new FirefoxBinary();  
File firefoxProfileFolder = new File("/Users/xxx/work/xxx/selenium/src/test/resources/firefoxprofile");
FirefoxProfile profile = new FirefoxProfile(firefoxProfileFolder);
webDriver driver= new FirefoxDriver(binary, profile);

答案 1 :(得分:0)

您必须在启动已保存的网址之前退出网络驱动程序。 在第3步写driver.quit();并在第4步写: driver.get("<saved_url>");