[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 中有效。
[Selenium] Android HTML5 中 Web Storage的更多相关文章
- [Selenium] Android HTML5 中 Application Cache
HTML5 中引入了 Application Cache,这意味着 Web 应用程序可以被缓存到本地,且可在没有网络的情况下也能访问该 Web 应用程序 Application Cache 在以下3个 ...
- HTML5中Web存储
HTML5 中web存储是一个比cookies更好的一个本地存储方式. 那么什么是HTML5存储呢? 使用HTML5可以在本地存储用户浏览的数据,HTML5技术没有出来之前是使用cookies进行本地 ...
- Html5的学习之旅-Html5的web Storage概述(16)
在html5中除了canvas,另外一个非常重要的功能是客户端本地存储web storage,之前可以在用户端Cookies存贮用户名等信息,后来发现Cookies存储存在以下问题: 大小:Cooki ...
- HTML5之WEB Storage
什么是HTML5 web storage? 使用HTML5,web页面能够使用用户的浏览器本地保存数据. 在曾经,通常我们使用cookie来保存用户数据.然而使用web存储更加安全和高速.数据不再包括 ...
- [Selenium] 操作 HTML5 中的 Canvas 绘制图形
测试 http://literallycanvas.com/ 以 Chrome Driver 为例阐述,通过 Actions 在 Canvas 上绘制一个封闭图形.对于 Canvas 上的操作,推荐 ...
- HTML5存储 ——Web Storage(localStorage 和 sessionStorage)
一.localStorage对象临时储存API 方法: 1.localStorage.setItem(key,value)---设置存储内容 2.localStorage.getItem(key)-- ...
- HTML5本地存储 Web Storage
Web Storage基本介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API sessionStorage 和 localStorage,二者的差异主要是数 ...
- HTML5 高级系列:web Storage
前言 HTML5 的 web Storage 存储方式有两种:localStorage 和 sessionStorage. 这两种方式都是通过键值对保存数据,存取方便,不影响网站性能.他们的用法相同, ...
- HTML5 Web Storage 特性
原文地址: Using HTML5 Web Storage 原文日期: 2010年06月28日 翻译日期: 2013年08月12日 当下Web开发领域最火爆的词语当属 HTML5.HTML5标准的新特 ...
随机推荐
- android中自定义下拉框(转)
android自带的下拉框好用不?我觉得有时候好用,有时候难有,项目规定这样的效果,自带的控件实现不了,那么只有我们自己来老老实实滴写一个新的了,其实最基本的下拉框就像一些资料填写时,点击的时候出现在 ...
- fmt 包中的函数和方法
/ Fprintf 将参数列表 a 填写到格式字符串 format 的占位符中// 并将填写后的结果写入 w 中,返回写入的字节数func Fprintf(w io.Writer, format st ...
- Crypto另外两段加密解密的代码
第一段代码风格-平铺直叙: import sys from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex class p ...
- Maven打包时过滤测试代码或指定特定的测试类(maven-surefire-plugin)
1.过滤整个测试代码,可以直接在命令行上指定 mvn clean install -Dmaven.test.skip=true 提示:以上为举例,具体的构建阶段可以自定义,其中maven.test.s ...
- android中MVC,MVP和MVVM三种模式详解析
我们都知道,Android本身就采用了MVC模式,model层数据源层我们就不说了,至于view层即通过xml来体现,而 controller层的角色一般是由activity来担当的.虽然我们项目用到 ...
- [Testing] Config jest to test Javascript Application -- Part 2
Setup an afterEach Test Hook for all tests with Jest setupTestFrameworkScriptFile With our current t ...
- Android锁屏或灭屏状态下,高速按两次音量下键实现抓拍功能(1.2Framework层使用startService形式实现)
如前一篇博文所分析.我们能够使用广播的形式在高速按下两次音量下键的时候发出广播,以方便client进行捕捉. 既然有两种方式能够实现该Issue那么哪种方式是首选呢? 我个人推荐使用启 ...
- javascript 复制粘贴操作
function CopyCode(key){ var trElements = document.all.tags("tr");//获取tr元素 var i; for(i = 0 ...
- APACHE局域网配置域名访问
/** * * @email 514320008@qq.com * @author jshaibozhong * */ 1,打开APACHE的目录 \Apache2\conf\extra\httpd ...
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
常量,字段,构造方法 常量 1.什么是常量 常量是值从不变化的符号,在编译之前值就必须确定.编译后,常量值会保存到程序集元数据中.所以,常量必须是编译器识别的基元类型的常量,如:Boolean ...