zoukankan      html  css  js  c++  java
  • [Selenium] Android HTML5 中 Web Storage

    在 HTML5 中,Web Storage 这个新特性可让用户将数据存储在本地的浏览器中。在早期的浏览器中可通过 cookies 来完成这个任务,但 Web Storage 会更加安全和高效,且 Web Storage 通过键值对进行存储,只有自身的网页应用才可以访问存储的数据

    Web Storage 分为以下2种类型

    1. localStorage: 存储的数据永久不会过期

    2. sessionStorage: 存储的数据只在当前会话中有效

    通过 Chrome 的开发者工具在 Resources 选项卡中可查看 localStorage 和 sessionStorage 的信息

    操作 localStorage 示例:

    package com.learingselenium.android;

    import static org.junit.Assert.assertEquals;

    import org.junit.*;

    import org.openqa.selenium.WebDriver;

    import org.openqa.selenium.html5.LocalStorage;

    import org.openqa.selenium.html5.WebStorage;

    import org.openqa.selenium.android.AndroidDriver;

    ...

    WebDriver driver = new AndroidDriver("http://localhost:8888/wd/hub");

    driver.get("http://www.1.com");

    LocalStorage localStorage = ((WebStorage) driver).getLocalStorage();

    System.out.println("The size of LocalStorage is:" + localStorage.size());

    localStorage.setItem("key1", "learningselenium");

    System.out.println(localStorage.getItem("key1"));

    driver.quit();

    ...

    从执行结果看,localStorage 会保留之前存储的数据。如果需要保证每次运行测试用例时localStorage 都是干净的状态,那么需要在使用 localStorage 前执行以下代码段:

    LocalStorage localStorage =  ((WebStorage) driver).getLocalStorage();

    localStorage.clear();

    操作 sessionStorage 示例:

    ...

    WebDriver driver = new AndroidDriver("http://localhost:8888/wd/hub");

    driver.get("http://www.1.com");

    SessionStorage sessionStorage = ((WebStorage) driver).getSessionStorage();

    System.out.println("The size of sessionStorage is:" + sessionStorage .size());

    sessionStorage .setItem("key1", "learningselenium");

    System.out.println(sessionStorage .getItem("key1"));

    driver.quit();

    ...

    从执行结果看,sessionStorage 不会保留前一次 Session 所存储的数据,即 sessionStorage  中存储的数据只在当前 session 中有效。

  • 相关阅读:
    Mac下github项目检出与提交
    Mac下Vim配置语法高亮
    Mac下JDK安装配置
    shiro实现app和web统一登录
    mysql优化30条建议
    log4j配置说明
    lambda遍历的精简
    lambda表达式详解
    dubbo
    java8新特性lamda表达式在集合中的使用
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/4561019.html
Copyright © 2011-2022 走看看