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 中有效。

  • 相关阅读:
    模块化利器:RequireJS常用知识
    移动端适配:font-size设置的思考
    样式化复选框
    jquery tmpl 详解
    移动前端相关解决方案整理
    常用页面布局方式介绍
    移动端制作的常见问题及解决方法
    手机端页面自适应:rem布局
    React工程化之PWA之serviceWorker
    React之JSX循环遍历方法对比
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/4561019.html
Copyright © 2011-2022 走看看