html5页面测试相关知识
-
H5页面测试总结前言在最近几个项目中,小编接触了较多关于H5页面的测试,H5页面的测试除了业务逻辑功能测试外,其他部分的测试方法基本是可以通用的,在此对H5页面的一些通用测试方法进行总结分享给大家。H5页面介绍1. H5页面H5即 HTML5,是最新的 Web 端开发语言版本,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现。所以 Web 的通用测试点和方法基本都可以适用于它。H5其实就是:移动端Web页面。H5应用在很多地方,如APP的活动专题页面、新闻页面、微信公众号文章页面等都属于H5页面,在PC或者手机浏览器都可以直接访问H5页面。H5作为移动端的web页面,有它自身的优势,如它可以跨平台使用,开发成本相对较低;可随时上线就更新版本,适合快速迭代;可以轻量的触达用户,提供更便捷的服务。因此在项目中,对于上线后迭代更新较快的页面,通常利用H5页面来实现。2. 技术实现从广义上来讲,HTML5是包括HTML、CSS和JavaScript在内的一套技术组合。HTML:
-
H5页面测试总结前言在最近几个项目中,小编接触了较多关于H5页面的测试,H5页面的测试除了业务逻辑功能测试外,其他部分的测试方法基本是可以通用的,在此对H5页面的一些通用测试方法进行总结分享给大家。H5页面介绍1. H5页面H5即 HTML5,是最新的 Web 端开发语言版本,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现。所以 Web 的通用测试点和方法基本都可以适用于它。H5其实就是:移动端Web页面。H5应用在很多地方,如APP的活动专题页面、新闻页面、微信公众号文章页面等都属于H5页面,在PC或者手机浏览器都可以直接访问H5页面。H5作为移动端的web页面,有它自身的优势,如它可以跨平台使用,开发成本相对较低;可随时上线就更新版本,适合快速迭代;可以轻量的触达用户,提供更便捷的服务。因此在项目中,对于上线后迭代更新较快的页面,通常利用H5页面来实现。2. 技术实现从广义上来讲,HTML5是包括HTML、CSS和JavaScript在内的一套技术组合。HTML:
-
android内嵌html5页面不能播放视频 遇到一个问题就是在app里面的一个html5页面里面有个video标签,死活加载不出来,也播放不了,奇怪的是只有android端会这样,移动端正常,最后我 换成了直接跳转到指向视频的链接,这样就可以播放了,初步推测应该是android 端的webview对video支持不好造成的。所以遇到app内内嵌html5的时候要注意,他可能根本不支持vedio标签,除非直接跳转到视频的地址。
-
android内嵌html5页面不能播放视频 遇到一个问题就是在app里面的一个html5页面里面有个video标签,死活加载不出来,也播放不了,奇怪的是只有android端会这样,移动端正常,最后我 换成了直接跳转到指向视频的链接,这样就可以播放了,初步推测应该是android 端的webview对video支持不好造成的。所以遇到app内内嵌html5的时候要注意,他可能根本不支持vedio标签,除非直接跳转到视频的地址。
html5页面测试相关课程
html5页面测试相关教程
- 3.3 使用 Swagger2 进行接口测试 此时我们启动项目,然后访问 http://127.0.0.1:8080/swagger-ui.html ,即可打开自动生成的可视化测试页面,如下图。Swagger2 自动生成可视化测试界面嗯,感觉这个页面简单整洁,直接给测试人员使用都很方便。我们以 update 方法为例演示下如何测试。先看看该方法的代码:实例: /** * 修改商品 */ @PutMapping("/goods/{id}") public void update(@PathVariable("id") long id, @RequestBody GoodsDo goods) { // 修改指定id的商品信息 goods.setId(id); goodsService.editGoods(goods); }测试时先选中对应的方法 update , 然后点击 Try it out 开始测试。Swagger2 生成的测试方法在参数区域输入 id 和 goods 的值。Swagger2 可视化测试参数输入点击 Execute 后,返回 Code 为 200 表示 http 请求成功!Swagger2 可视化测试结果输出由此可见, Swagger2 将接口以可视化的方式呈现出来,开发人员不必手输接口地址、参数名称,就可以发起测试并查看结果,确实非常方便。后端人员在开发完成后,可以自己使用 Swagger2 测试下接口可行性。而前端人员也可以打开 Swagger2 网页直接验证接口功能。
- HTML5 地理位置 地理定位功能是 HTML5 新增的标准,早期的 HTML 和 JavaScript 没有操控硬件和文件的权限,因为页面交互效果比较简单;但是 HTML5 之后网页已经逐渐应用于各种复杂场景包括移动设备,所以增加了各种与硬件交互的 API 接口,地理位置就是其中之一。
- 5. 测试 我们直接编写测试类,对数据访问接口进行测试。此处通过 @FixMethodOrder(MethodSorters.NAME_ASCENDING) 注解,使测试方法按名称顺序依次执行。这样就可以一次性测试 GoodsDao 中的所有方法了,具体测试代码如下:实例:/** * GoodsDao测试类 */@SpringBootTest@FixMethodOrder(MethodSorters.NAME_ASCENDING) // 按方法名称顺序测试class GoodsDaoTest { @Autowired private GoodsDao goodsDao; /** * 新增一个商品 */ @Test void test_01() { GoodsDo goods = new GoodsDo(); goods.setName("手机"); goods.setPic("phone.jpg"); goods.setPrice("2000"); int count = goodsDao.insert(goods); assertEquals(1, count);// count值为1则测试通过 } /** * 更新商品信息 */ @Test void test_02() { GoodsDo goods = new GoodsDo(); goods.setId(1L); goods.setName("手机"); goods.setPic("phone.jpg"); goods.setPrice("3000"); int count = goodsDao.update(goods); assertEquals(1, count);// count值为1则测试通过 } /** * 获取商品信息 */ @Test void test_03() { GoodsDo goods = goodsDao.selectOne(1L); assertNotNull(goods);// goods不为null则测试通过 } /** * 删除商品 */ @Test void test_04() { int count = goodsDao.deletex(1L);//此处应为delete(1L) assertEquals(1, count);// count值为1则测试通过 } /** * 获取商品信息列表 */ @Test void test_05() { List<GoodsDo> goodsList = goodsDao.selectAll(); assertEquals(0, goodsList.size());// goodsList.size()值为0则测试通过 }}测试结果如下,说明所有测试都通过了。JUnit 测试结果
- 4. 测试 我们主要是测试 JPA 模块正确可用,所以直接在测试类发起对 IGoodsDao 方法的测试即可。
- 2.6 测试 通过测试类发起测试,此处我们简单执行 1000 次插入,看看执行时间。需要注意的是,Spring Boot 进行测试时,需要添加注解 @SpringBootTest 。添加注解后该类可以直接通过 @Test 标注的方法发起单元测试,容器环境都已准备好,非常方便。实例:@SpringBootTest // 通过该注解,开启测试类功能,当测试方法启动时,启动了Spring容器class SpringBootHikariApplicationTests { @Autowired private DataSource dataSource;// 自动注入数据源 @Autowired private GoodsDao goodsDao; /** * 打印数据源信息 */ @Test // 测试方法 void printDataSource() { System.out.println(dataSource); } /** * 批量插入测试 */ @Test void insertBatch() { // 开始时间 long startTime = System.currentTimeMillis(); // 执行1000次插入 GoodsDo goods = new GoodsDo(); goods.setName("测试"); goods.setPic("测试图片"); goods.setPrice("1.0"); for (int i = 0; i < 1000; i++) { goodsDao.insert(goods); } // 输出操作时间 System.out.println("use time:" + (System.currentTimeMillis() - startTime)+"ms"); }}输出结果如下,可见默认数据源类型为 HikariDataSource ,插入 1000 条数据的时间大概为 1500ms (注意时间可能跟电脑性能等很多因素相关,此处只是进行简单的对比测试)。use time:1518mscom.zaxxer.hikari.HikariDataSource
- 2.3 测试 我们在项目中与 main 目录同级的 test 目录中找到测试类 ZkClientDemoApplicationTests ,在其中添加测试方法。2.3.1 查询测试package cn.cdd.zkclientdemo;import cn.cdd.zkclientdemo.service.ZkClientServer;import org.I0Itec.zkclient.ZkClient;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;@SpringBootTestclass ZkClientDemoApplicationTests { // 依赖注入 @Autowired private ZkClientServer zkClientServer; @Test void contextLoads() { // 获取 ZkClient 对象 ZkClient zkClient = zkClientServer.getZkClient(); // 获取子节点集合 List<String> children = zkClient.getChildren("/"); System.out.println(children); // 释放资源 zkClient.close(); }}执行测试方法,控制台输出:[zookeeper, imooc]我们可以看到控制台输出了在上一节中我们增加的节点 imooc,说明我们的查询成功执行了。接下来我们测试其它的 API。2.3.2 创建持久节点创建持久节点测试:@Testvoid contextLoads() { ZkClient zkClient = zkClientServer.getZkClient(); // 在 imooc 节点下创建持久节点 wiki zkClient.createPersistent("/imooc/wiki"); // 获取 imooc 节点的子节点集合 List<String> children = zkClient.getChildren("/imooc"); System.out.println(children); // 释放资源 zkClient.close();}执行测试方法,控制台输出:[wiki]2.3.3 删除节点删除节点测试:@Testvoid contextLoads() { ZkClient zkClient = zkClientServer.getZkClient(); // 删除 imooc 的 子节点 wiki boolean delete = zkClient.delete("/imooc/wiki"); System.out.println(delete); // 释放资源 zkClient.close();}执行测试方法,控制台输出:truetrue 表示删除 wiki 节点成功。2.3.4 读写数据节点数据读写测试:@Testvoid contextLoads() { ZkClient zkClient = zkClientServer.getZkClient(); // 给 imooc 节点写入数据 wiki zkClient.writeData("/imooc","wiki"); // 读取 imooc 节点的数据 Object data = zkClient.readData("/imooc"); System.out.println(data); // 释放资源 zkClient.close();}执行测试方法,控制台输出:wikiTips: 当我们使用 API 操作节点时,节点参数必须是全路径。测试完成后,我们来对 ZkClient 常用的 API 做一下介绍。
html5页面测试相关搜索
-
h1
h6
hack
hadoop
halt
hana
handler
hanging
hash
hashtable
haskell
hatch
hbase
hbuilder
hdfs
head
header
header php
headers
headerstyle