• 0
  • 1
分享

  送你一套免费的性能测试框架搭建的课程!省下的300块,去吃一顿热气腾腾的火锅吧!点击下方链接,答问卷,领课程。链接:http://vote.51testing.com/


  研究背景

  对于大数据测试和数据库测试,经常会同MySQL、ES等数据库“打交道”。对于测试人员来说,MySQLMySQL语法简单易懂、上手方便,但是ES语法相比之下第一眼就会让人觉得“抓脑壳”(那么多字,键盘都得敲坏)。

  那有没有什么工具,安装方便、使用简单、具有一定可视化效果,且能够直接使用MySQL语法查询的呢?那当然有了,安排!

  这里给大家介绍两款操作ES的chrome插件工具:elasticsearch-head和elasticsearch-sql。可以满足大部分测试人员的测试工作需求,且安装方便、使用简单。

  工具

  elasticsearch-head

  elasticsearch-head的最大优点在于可视化操作,操作简单,结果一目了然。

  安装方式(推荐chrome插件方式)

  1)通过chrome应用商店一键安装Elasticsearch-head插件(中文官网地址:https://chrome.google.com/webstore?hl=zh-CN,英文官网地址:https://chrome.google.com/)。

  2)当存在无法访问chrome应用商店的时候,我们可以选择下载插件包的,植入chrome拓展程序文件的形式。

  首先,从https://github.com/mobz/elasticsearch-head下载zip包(如下图所示);

  其次,解压下载的压缩包;

  最后,打开chrome更多工具—>扩展程序—>加载已解压的扩展程序即可。

1.png

  使用方法

  点击chrome浏览器扩展程序即可使用。

  支持功能

  1)ES集群概览

  如下图3所示,支持集群按照“地址排序”、“名称排序”、“类型排序”,支持索引升、降排序,支持索引搜索等。

  此外还可点击索引的信息查看索引状态、索引信息,以及关闭、删除、刷新索引等操作。

2.png

  2)索引

  如下图所示,支持索引概览、新建索引。

3.png

  3)数据预览

  如下图所示,支持数据预览,点击索引名即可预览该索引数据。

4.png

  4)基本查询

  如下图所示,支持单个索引的单字段值或多字段值联合查询,支持算子term、range、fuzzy、query_string、missing,返回格式支持json、csv以及table。

5.png

  5)复合查询

  如下图所示,支持POST、GET、PUT、HEAD等REST请求,结果显示支持原始json、图形视图和表格视图。

6.png

  elasticsearch-sql

  elasticsearch-sql的优点在于可以将MySQL的基本语法转换成ES语法直接查询,降低了ES语法的学习成本。

  安装方式(推荐chrome插件方式)

  同elasticsearch-head一样,可以通过源码地址下载(https://github.com/shi-yuan/elasticsearch-sql-site-chrome)插件压缩包,解压后,导入浏览器扩展程序即可。

  支持功能

  1)基本SQL操作

7.png

  2)地理位置查询

8.png

  3)拓展ES查询功能

9.png

  4)有限的join查询支持

  ES不支持join查询,但elasticsearch-sql提供了部分join操作,包括JOIN和LEFT_JOIN。但值得注意的是:

  只有支持2 个表(索引/类型)加入join;

  在“ON”上,您能使用“AND”连接;

  您必须为表使用别名(acounts a )。

  在 Where 上,不要组合两个表的决策树。

  例如,这将起作用:WHERE (a.key1>3 OR a.key1<0) AND (b.key2 > 4 OR b.key2<-1),但我们不支持:WHERE (a.key1>3 OR b.key2<0) AND (a.key1 > 4 OR b.key2<-1)。

  5)show功能

  show可以展示集群和索引的细节,例如:show *可以显示所有索引,show index可以展示索引的类型等信息。

  使用方法

  点击chrome扩展程序elasticsearch-sql打开ui页面,在文本框输入SQL语句即可。如:

  1)直接SQL语法查询

  使用show语法展示索引细节:

10.png

  使用join查询:

11.png

  2)翻译SQL语法为ES语法

  在文本框输入SQL语句,点击“Explain”即可翻译为ES语句,Results会显示翻译结果,例如:

12.png

  3)其他功能

  elasticsearch-sql的界面功能还支持查询结果下载(ExportCSV)、查询结果搜索(Search)以及其他设置(Show Settings)等。

  总结

  elasticsearch-head和elasticsearch-sql是两款小巧方便的工具,可以作为chrome插件使用,可视化的特点能够满足大部分人对ES的简单操作,此外elasticsearch-sql可以降低测试人员的学习成本,只需要简单的SQL语法即可完成ES数据库操作。

  但是,它们自身也存在一定的局限性。例如:elasticsearch-sql针对复杂的SQL语句,尤其是嵌套语句或包含子查询的语句,就显得捉襟见肘。

  希望本文的介绍能帮助你简单认识这两个小工具~



作者:刘晓佳Rachel    

来源:http://www.51testing.com/html/98/n-7793798.html


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   测试人初到一个公司,往往公司的测试团队和规模已经完善,我们需要做的就是跟着公司的节奏走。因为相应的制度和流程已经完善,不需要额外操心太多与测试执行层面无关东西。  但是当流程和制度没有的情况下,我们应该怎么办呢?  本篇文章适用于初到一个公司、公司新引进测试流程,却不知道如何从0开始的同仁。以下是我近期的总结,方案有可能不是最完美的,但可以参考,有一定的借鉴作用。  整篇文章逻辑结构:  首先介绍什么是落地;  其次更为重要的思想;  最后经过这一年总结还有哪些不足之处,进而指出我打算接下来执行的方案。  何为落地  不知道大家接触过“落地页”这个词没有,我是在需求介绍文档里第一次见到这个...
            0 0 744
            分享
          •   前言  什么是自动化测试  把人对软件的测试行为转化为由机器执行测试行为的一种实践。  例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来。  本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还必须随着被测试对象的改变而更新,因此,还有额外的维护成本。  自动化测试有哪些分类  按测试目的分类:  · 功能自动化测试  · 性能自动化测试  按测试对象分类:  · Web应用测试  · APP测试  · 接口测试  · 单元测试  为什么需要自动化测试  可以替代大量的手工机械重复性操作,测试工...
            0 0 954
            分享
          •   应用场景  在API的测试中,有时候需求是对整个文件进行检验而不是某个特定的值,或者说要对某个特定的值在不同的用例中重复地进行验证。这种状况下,我们最喜欢用的就是变量。可以存取外部数据或定义内部变量,使代码变得简洁、又有可阅读性,同时测试用例结果运行也能保持一致性。  学习要点  ·如何读取外部文件并进行文件内容的精确对比  ·如何读取外部文件并进行文件内容的模糊对比  ·使用变量验证某个特定的value是否出现  ·使用变量验证某个特定的key是否出现  示例中get url: https://reqres.in/api/users/2  准备工作  如果您想跟着以下示例操作,需要做好以...
            2 3 2409
            分享
          • 一、什么是HttpUnitHttpUnit是基于JUnit构建的一个开源的测试框架,专门针对Web应用的测试,用于解决使用JUnit框架无法对远程Web内容进行测试的问题。二、工作原理HttpUnit通过模拟浏览器的行为,包括提交表单(form)、处理页面框架(frames)、基本的http验证、cookies以及页面跳转(redirects)处理等,进行Web应用程序的测试。通过HttpUnit提供的功能,用户可以方便地与服务器端进行信息的交互,将返回的网页内容作为普通文本、XML Dom对象或者是作为链接、页面框架、图像、表单、表格等的集合进行处理,然后使用Junit框架进行测试,还可以导...
            0 0 2148
            分享
          •       许多测试工程师使用Postman进行API测试自动化。他们发现端点,发出请求,创建测试数据,运行回归测试,使用Newman等实现API测试的持续集成。但是,Postman有一定的测试限制。希望获得更多负载测试能力的开发人员,DevOps和QA工程师可以将其Postman测试转换为JMeter。这篇博客文章将解释何时建议将Postman转换为JMeter,并逐步说明如何实现。      PostmanAPITestingLimitations      可扩展性  ...
            6 6 2097
            分享
      • 51testing软件测试圈微信