该实例的目的是能够读取HTML5的localStorage和sessionStorage,并删除存储的内容。
具体实例代码如下:
package cn.om.TestHTML5; import org.testng.annotations.Test; import org.testng.annotations.BeforeMethod; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.AfterMethod; public class TestHtml5Storage { WebDriver driver; String localStoreUrl; String sessionStoreUrl; @Test public void testHtml5localStorage() { driver.get(localStoreUrl); JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; // 调用JavaScript语句“return // localStorage.lastname”获取存储在localStorage中“lastname”的存储值 String lastname = (String) jsExecutor.executeScript("return localStorage.lastname;"); // 断言获取的存储值是否为“Smith” Assert.assertEquals("Gates", lastname); // 调用JavaScript语句“localStorage.clear()”清除所有存储在localStorage中的变量值 jsExecutor.executeScript("localStorage.clear();"); } @Test public void testHtml5sessionStorage() { driver.get(sessionStoreUrl); JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; // 调用JavaScript语句“return // localStorage.lastname”获取存储在localStorage中“lastname”的存储值 jsExecutor.executeScript("sessionStorage.setItem('lastname','Gates');"); String lastname = (String) jsExecutor.executeScript("return sessionStorage.lastname;"); // 断言获取的存储值是否为“Smith” Assert.assertEquals("Gates", lastname); //清除存储在sessionStorage中的“lastname”项 jsExecutor.executeScript("sessionStorage.removeItem('lastname');"); // 调用JavaScript语句“localStorage.clear()”清除所有存储在localStorage中的变量值 jsExecutor.executeScript("sessionStorage.clear();"); } @BeforeMethod public void beforeMethod() { System.setProperty("webdriver.firefox.bin", "D:/Mozilla Firefox/firefox.exe"); driver = new FirefoxDriver(); localStoreUrl = "http://www.w3school.com.cn/tiy/t.asp?f=html5_webstorage_local"; sessionStoreUrl = "http://www.w3school.com.cn/tiy/t.asp?f=html5_webstorage_session"; } @AfterMethod public void afterMethod() { driver.quit(); } }