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

[Selenium] Android HTML5 中 Web Storage的更多相关文章

  1. [Selenium] Android HTML5 中 Application Cache

    HTML5 中引入了 Application Cache,这意味着 Web 应用程序可以被缓存到本地,且可在没有网络的情况下也能访问该 Web 应用程序 Application Cache 在以下3个 ...

  2. HTML5中Web存储

    HTML5 中web存储是一个比cookies更好的一个本地存储方式. 那么什么是HTML5存储呢? 使用HTML5可以在本地存储用户浏览的数据,HTML5技术没有出来之前是使用cookies进行本地 ...

  3. Html5的学习之旅-Html5的web Storage概述(16)

    在html5中除了canvas,另外一个非常重要的功能是客户端本地存储web storage,之前可以在用户端Cookies存贮用户名等信息,后来发现Cookies存储存在以下问题: 大小:Cooki ...

  4. HTML5之WEB Storage

    什么是HTML5 web storage? 使用HTML5,web页面能够使用用户的浏览器本地保存数据. 在曾经,通常我们使用cookie来保存用户数据.然而使用web存储更加安全和高速.数据不再包括 ...

  5. [Selenium] 操作 HTML5 中的 Canvas 绘制图形

    测试 http://literallycanvas.com/ 以 Chrome Driver 为例阐述,通过 Actions 在 Canvas 上绘制一个封闭图形.对于 Canvas 上的操作,推荐 ...

  6. HTML5存储 ——Web Storage(localStorage 和 sessionStorage)

    一.localStorage对象临时储存API 方法: 1.localStorage.setItem(key,value)---设置存储内容 2.localStorage.getItem(key)-- ...

  7. HTML5本地存储 Web Storage

    Web Storage基本介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API  sessionStorage 和 localStorage,二者的差异主要是数 ...

  8. HTML5 高级系列:web Storage

    前言 HTML5 的 web Storage 存储方式有两种:localStorage 和 sessionStorage. 这两种方式都是通过键值对保存数据,存取方便,不影响网站性能.他们的用法相同, ...

  9. HTML5 Web Storage 特性

    原文地址: Using HTML5 Web Storage 原文日期: 2010年06月28日 翻译日期: 2013年08月12日 当下Web开发领域最火爆的词语当属 HTML5.HTML5标准的新特 ...

随机推荐

  1. 关于整合spring+mybatis 第三种方式-使用注解

    使用注解 1.与前两种方法一致.不过稍许不同的是beans.xml中配置的差异. <!-- 配置sqlSessionFactory --> <bean id="sqlSes ...

  2. HTML 中 SELECT 选项分组

    <select name="viewType"> <option value selected>选择排序/显示方式</option> <o ...

  3. c++ 高效并发编程

    高效并发编程 并发编程的基本模型包括,通过消息机制来管理运行顺序的message passing, 通过互斥保护共享的shared memory. 线程同步的基本原则 最低限度共享变量,考虑使用imm ...

  4. kafka基础介绍

    kafka基础介绍 一.kafka介绍 1.1主要功能 根据官网的介绍,kafka是一个分布式流媒体的平台,它主要有三大功能: 1.11:It lets you publish and subscri ...

  5. 【kotlin】报错:required:LIst<XXX> found:List<Unit>此类型的问题

    出现问题如下: 解决方式如下: 解决思路:上面报出来的错误很明显,就是说想要的是List<XXX>类型但是给的却是List<Unit>类型,给的不是它想要的嘛 关键就是解决问题 ...

  6. 【paddle学习】识别数字

    Softmax回归(Softmax Regression) 最简单的Softmax回归模型是先将输入层经过一个全连接层得到的特征,然后直接通过softmax 函数进行多分类 输入层的数据$X$传到输出 ...

  7. docker on UP Board

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正常的图片.链接,请访问我的博客: http://www.cnblogs.co ...

  8. javascript 复制粘贴操作

    function CopyCode(key){ var trElements = document.all.tags("tr");//获取tr元素 var i; for(i = 0 ...

  9. background-size使用参考指南

    语法:background-size :[ <length> | <percentage> | auto ]{1,2} | cover | contain相关属性: backg ...

  10. js团购倒计时函数代码

    <h1>团购啦!</h1><p>还剩<span id="times"></span></p> <SCR ...