2014-12-19 174 views
1

我在編寫基於Java的selenium-webdriver測試。我正在測試的應用程序在storageSession中設置了某些值,例如sessionStorage.setItem("demo", "test"),我怎麼能在我的測試中檢查並斷言存儲的變量demo的價值使用Selenium Webdriver測試sessionStorage

+0

那是存儲在cookie?如果是的話,那麼你可以得到該cookie,然後從cookie中,你可以得到該變量 – 2014-12-19 11:55:54

+0

謝謝,但它不在cookie內,而是存儲在瀏覽器的sessionStorage – learnAndImprove 2014-12-19 11:59:14

回答

3

發現了一個偉大的工具類https://gist.github.com/roydekleijn/5073579

import org.openqa.selenium.JavascriptExecutor; 
import org.openqa.selenium.WebDriver; 

public class LocalStorage { 
    private JavascriptExecutor js; 

    public LocalStorage(WebDriver webDriver) { 
    this.js = (JavascriptExecutor) webDriver; 
    } 

    public void removeItemFromLocalStorage(String item) { 
    js.executeScript(String.format(
     "window.localStorage.removeItem('%s');", item)); 
    } 

    public boolean isItemPresentInLocalStorage(String item) { 
    return !(js.executeScript(String.format(
     "return window.localStorage.getItem('%s');", item)) == null); 
    } 

    public String getItemFromLocalStorage(String key) { 
    return (String) js.executeScript(String.format(
     "return window.localStorage.getItem('%s');", key)); 
    } 

    public String getKeyFromLocalStorage(int key) { 
    return (String) js.executeScript(String.format(
     "return window.localStorage.key('%s');", key)); 
    } 

    public Long getLocalStorageLength() { 
    return (Long) js.executeScript("return window.localStorage.length;"); 
    } 

    public void setItemInLocalStorage(String item, String value) { 
    js.executeScript(String.format(
     "window.localStorage.setItem('%s','%s');", item, value)); 
    } 

    public void clearLocalStorage() { 
    js.executeScript(String.format("window.localStorage.clear();")); 
    } 
} 

感謝羅伊

+0

Python請。我期待訪問會話存儲並返回一些文件。幫幫我! – 2016-06-03 19:43:08

相關問題