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

时间: 2024-11-06 22:53:44

Android HTML5 中 Web Storage的相关文章

Android程序中Web页面和NativeCode交互

首先应该在AndroidManifest.xml把下面这个加上使得具有网络访问权限 <uses-permission android:name="android.permission.INTERNET"/> 然后在布局文件上插入WebView main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:/

HTML5之WEB Storage

什么是HTML5 web storage? 使用HTML5,web页面能够使用用户的浏览器本地保存数据. 在曾经,通常我们使用cookie来保存用户数据.然而使用web存储更加安全和高速. 数据不再包括在每个server请求中,仅仅存在你须要的时候.同一时候我们也能够保存大量数据,而不影响站点的性能. 数据都保存成key/value形式,一个web页面仅仅能够訪问自己的数据. 浏览器支持 IE8+,Firefox,Chrome.Opera和Safari 5都支持这个特性. 注意IE7和更早版本号

Android HTML5 中 Application Cache

HTML5 中引入了 Application Cache,这意味着 Web 应用程序可以被缓存到本地,且可在没有网络的情况下也能访问该 Web 应用程序 Application Cache 在以下3个方面具有明显优势 1.离线浏览:在没有网络情况下用户也可使用 Web 应用程序 2.速度快:缓存的资源被加载时速度很快 3.服务器负载小:浏览器只会从服务器更新有变化或新增的资源 确认 Web 应用程序是否使用了改缓存特性的最简单方式就是直接查看网页 HTML 代码,如果其源码中具有如下包括 man

Cookie的利弊以及与web storage的区别

cookie的优点:具有极高的扩展性和可用性 通过良好的编程,控制保存在cookie中的session对象的大小. 通过加密和安全传输技术,减少cookie被破解的可能性. 只有在cookie中存放不敏感的数据,即使被盗取也不会有很大的损失. 控制cookie的生命期,使之不会永远有效.这样的话偷盗者很可能拿到的就是一个过期的cookie. cookie的缺点: cookie的长度和数量的限制.每个domain最多只能有20条cookie,每个cookie长度不能超过4KB.否则会被截掉. 安全

HTML5本地存储 Web Storage

Web Storage基本介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API  sessionStorage 和 localStorage,二者的差异主要是数据的保存时长及数据的共享方式. localStorage 一直存储在本地,数据存储是永久的,除非用户或程序对其进行删除操作: sessionStorage在会话期内有效,数据在浏览器关闭后自动删除: localStorage是基于域的,任何在该域内的页面都可以访问, sessionStorage在保

HTML5 高级系列:web Storage

前言 HTML5 的 web Storage 存储方式有两种:localStorage 和 sessionStorage. 这两种方式都是通过键值对保存数据,存取方便,不影响网站性能.他们的用法相同,存储时间不同.localStorage 的数据保存在本地硬件上,可以永久保存,可以手动调用api清除数据.sessionStorage 保存在 session 对象中,会在浏览器关闭时被清除. web Storage 的大小在浏览器上是有限制的,不同浏览器大小会有区别,在主流浏览器中,大小约为 5M

H5本地储存Web Storage

一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了Cookie只能存储一些ID之类的标识符等简单的数据. 下面是Cookie的限制: 大多数浏览器支持最大为 4096 字节的 Cookie.    浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量.大多数浏览器只允许每个站点存储 20 个Cookie:如果试图存储更多 Cookie,则最

利用HTML5开发Android(4)---HTML5本地存储之Web Storage

Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Storage官方建议为每个网站5MB. Web Storage又分为两种: sessionStorage localStorage 从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了:而localStorage则一直将数据保存在客户端本地: 不管

HTML5中的Web Storage(sessionStorage||localStorage)理解与简单实例

Web Storage是什么? Web Storage功能,顾名思义,就是在Web上针对客户端本地储存数据的功能,具体来说Web Storage分为两种: sessionStorage: 将数据保存在session对象中,所谓session是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.session对象可以用来保存在这段时间内所要求保存的任何数据. localStorage: 将数据保存在客户端本地的硬件设备(通常指硬盘,当然可以是其他的硬