• 0
  • 0
分享

  Carina是一个基于Java的测试自动化框架,它将所有测试层结合在一起:移动应用程序(web、本机、混合)、web应用程序、REST服务和数据库。

  github:https://github.com/zebrunner/carina

  特点

  Carina框架构建在最流行的开源解决方案(如Selenium、Appium、TestNG)之上,可以减少对特定技术堆栈的依赖。

  Carina支持所有流行浏览器(即Edge、Safari、Chrome、Firefox)和移动设备(iOS/Android)。移动域的一个特殊特性是:它在IOS/Android之间重用测试自动化代码,高达70-80%。

  Carina是跨平台的。测试可以在Unix或Windows操作系统上轻松执行。您只需要安装JDK 11。

  该框架支持不同类型的数据库——关系数据库和非关系数据库(MySQL、SQL Server、Oracle、PostgreSQL),提供了使用MyBatis ORM框架实现DAO层的惊人体验。

  API测试基于Freemarker模板引擎。它在生成REST请求方面具有很大的灵活性,并且响应由传入参数动态更改。

  安装环境

  安装和配置JDK 11+

  JDK安装配置参考其他资料:

  > java -version
  java version "11.0.15" 2022-04-19 LTS
  Java(TM) SE Runtime Environment 18.9 (build 11.0.15+8-LTS-149)
  Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.15+8-LTS-149, mixed mode)

  安装和配置Apache Maven 3.6.0+

  Maven安装配置参考其他资料:

  > mvn -version
  Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
  Maven home: D:\Java\apache-maven-3.8.6
  Java version: 11.0.15, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11.0.15
  Default locale: zh_CN, platform encoding: GBK
  OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"

  下载最新版本的Eclipse和 TestNG插件,maven-dependency-plugin插件 和 lombok(可选)

  从官方给的文档资料,比较执着于 Eclipse,众所周知,IntelliJ IDEA 现在更加主流一些。 为此,我又花费不少时间重新熟悉新版的 Eclipse, 当然,你坚持IDEA也问题不大,只是不同的IDE而已。

  官方例子

  为了帮助我们快速的熟悉carina项目,官方贴心的提供了demo项目。

  github: https://github.com/zebrunner/carina-demo

  克隆项目

  > git clone https://github.com/zebrunner/carina-demo

  生成eclipse项目

  进入crina-demo项目目录,clean清除目标目录中的生成结果,eclipse:eclispse生成 Eclipse 项目文件及包引用定义。

  > mvn clean eclipse:eclipse

  安装依赖

  安装的依赖已经在pom.xml文件中声明好了,install 安装相关依赖。

  > mvn install

  通过eclipse导入carina-demo项目。

-1.png

  截图是一段HTTP接口测试的代码,代码设计还是非常优雅的,做了很好的封装,接口所用到的测试数通过json等文件进行管理。

  这篇算初体验,有时间再详细阅读代码的一些设计思想。

  运行测试

  最后,是运行测试,通过mvn 命令执行api测试用例。

  运行测试:

  > mvn clean test -Dsuite=api
  [INFO] Scanning for projects...
  ...
  [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 43.318 s - in TestSuite
  [INFO]
  [INFO] Results:
  [INFO]
  [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
  [INFO]
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD SUCCESS
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time:  54.180 s
  [INFO] Finished at: 2022-07-22T01:01:34+08:00
  [INFO] ------------------------------------------------------------------------

  整个运行过程会打印接口的详细信息。

  HTML报告

  报告就比较朴实无华了,提供了一些比较基本的信息。

-2.png

  总结

  Carina被定义为全功能的测试框架,这其实是测试框架的发展方向,从单一支持 Web 测试 或接口测试,向更多测试类型支持。甚至是与平台整合。

  由于时间原因,还没有详细看 Carina 的API,所以,这篇文章写得比较简单。

  这个框架非常适合Java流的测试学习和使用。


作者:虫师    

来源:http://www.51testing.com/html/45/n-7798445.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   据DigiTimes的报道,由于台积电美国晶圆厂的芯片制造成本远高于中国台湾,台积电正准备将这些额外的成本转嫁给其客户。  其中,台积电美国晶圆厂的代工价格或将比台湾晶圆厂高出30%,也就是说,台积电美国客户将需要为美国制造的芯片多支付30%的费用。  报道称,台积电已经开始与客户讨论分别在美国和日本的两个海外代工厂的订单和定价,这两个工厂预计2024年底开始量产。  业内人士认为,以台积电N4和N5工艺技术生产的芯片在美国的价格将比中国台湾地区的高20%-30%,而在日本熊本工厂以N28/N22以及N16/N12节点生产的旧工艺芯片的价格可能比在中国台湾制造的类似芯片高10%-15%。 ...
            0 0 790
            分享
          •   时间如白驹过隙,不知不觉从事测试行业已经近八年了,这些年来经常会听到这样的质疑,你是不是因为技术不好,不会编码,才做的测试?我先给出我的真实经历,我是正规软件工程专业出身,我毕业那年,正是安卓编程大行其道的时候,许多同学都去参加了培训机构,培训完成去做研发,而我自己选择了先行实习,而后毕业后阴差阳错入了测试一行,刚开始的时候,我和许多刚入门的测试同行一样,每天点点点,觉得这工作没有任何技术含量,想着做一段就转开发,但是随着工作时间越来越长,我经常会听到开发这样的抱怨,一次次置自己处在难堪的境。  1.你发现的是个无效缺陷,而我自己却无法辨别其到底是不是编码问题。  2.测试环境我们研发没时...
            14 14 879
            分享
          •   EasyModeling 是我在2021年圣诞假期期间开发的一个 Java 注解处理器,采用 Apache-2.0 开源协议。它可以帮助 Java 单元测试的编写者快速构造用于测试的数据模型实例,简化 Java 项目在单元测试中准备测试数据的工作,在提高编写效率的同时,使单元测试更加整洁易读。经过一年的维护,EasyModeling 已经在几个 Thoughtworks 内部的项目上得到了应用,并迭代发布了几个版本。  单元测试中的数据准备的困难  在企业级应用软件开发项目中编写测试代码时,针对特定的测试场景,我们需要准备相应的测试数据,以验证被测组件在给定输入下的行为。在使用 Java ...
            0 0 546
            分享
          •   当年我零基础转行到IT行业,薪酬翻倍,分享一些超有用的经验,希望对题主有所帮助。  首先,评估是否应该转行,最核心的点是要衡量「机会成本」,即评估转行后的职业前景、薪酬水平、岗位的契合度是否比当前行业的岗位好,毕竟转行意味着需要重新学习对应岗位的技能,花费很多时间和精力去积累相关经验,所以做好机会成本的评估很重要,这样可以避免转了之后后悔。  如何做好自我评估  做自我评估最核心的是这几个点:性格特质、兴趣爱好、天赋能力、过往经验。  就拿我当年的情况来说吧,我学的是会计专业,毕业后从事财务相关的工作。在做财务的三年间,总体印象是:财务起薪低,工作内容重复枯燥,行业也比较卷,看不到前景; ...
            0 0 369
            分享
          •   Web方面的测试,就是我们通常所说的是对在浏览器运行的页面进行测试。也即是B/S结构的测试。  Web测试,其实是前人通过总结而来。具体指下面几个方面:web测试点  1、链接  指方面的URL地址;要点:  1) 检测是否正确;  2) 检测是否明文或者加密显示;  3) 修改URL的子路径,如输入不存在的URL地址,检测页面是否有404错误页面提示。  4) 检测URL地址是否能正常跳转等等。  2、界面  1) 检测UI排版是否正确;  2) 检测界面的按钮或者可操作的功能,是否显眼;重要的功能或者文字是否高亮显示。  3) 图片是否快速显示;  4) 数据是否快速加载显示等等  3...
            0 0 659
            分享
      • 51testing软件测试圈微信