首页 > 其他分享 >全功能测试框架 - Carina

全功能测试框架 - Carina

时间:2022-10-05 22:58:22浏览次数:86  
标签:INFO Java Carina 框架 功能测试 测试 安装

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项目。

截图是一段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报告

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

总结

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

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

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

标签:INFO,Java,Carina,框架,功能测试,测试,安装
From: https://www.cnblogs.com/fnng/p/16756661.html

相关文章

  • gRPC框架学习:4、proto文件编译
    gRPC框架学习:4、proto文件编译文章目录​​gRPC框架学习:4、proto文件编译​​​​1.前言​​​​2.编译器总的地址​​​​3.具体语言编译器地址​​1.前言通过前面的学......
  • A Unified Generative Framework for Aspect-Based Sentiment Analysis 基于方面的情
    摘要基于方面的情感分析(ABSA)旨在识别方面术语、相应的情感极性和观点术语。ABSA中有七个子任务。大多数研究只关注这些子任务的子集,这导致了各种复杂的ABSA模型,但很难在统......
  • Flask 框架:运用Echarts绘制图形
    echarts是百度推出的一款开源的基于JavaScript的可视化图表库,该开发库目前发展非常不错,且支持各类图形的绘制可定制程度高,Echarts绘图库同样可以与Flask结合,前台使用echart......
  • WPF-UI框架MahApps.Metro使用教程
    一,MahApps.Metro安装1,项目中引用“MahApps.Metro.dll”【失败】我是在网上下载了一个dll,不知道是不是版本问题,使用时一直报错2,在NuGet中安装最新版本的dll右击项目-->......
  • java框架——Spring(二)
    AOP简介AOP(AspectOrientedProgramming)面向切面编程,一种编程范式,指导开发者如何组织程序结构OOP(ObjectOrientedProgramming)面向对象编程作用:在不惊动原始设计的基......
  • (新人)关于我是如何使用Jeesite框架的
    第一步由于jeesite官网的源码包是在码云上的,所以咱们下载之前必须拥有自己的码云账号并且登录。第二步登录码云账号后,我们通过此链接https://jeesite.com/来到jeesite官......
  • 云原生强大且灵活的持续集成CI开源框架Tekton实战-上
    @目录概述定义常见CICD工具使用好处组件基本概念安装前提条件安装TektonPipelines创建并运行任务安装Dashboard安装CliPipelines示例演示概述定义Tekton官网地址htt......
  • nginx&http 第三章 ngx http 框架处理流程
    1.nginx 连接结构 ngx_connection_t 这个连接表示是客户端主动发起的、Nginx服务器被动接受的TCP连接,我们可以简单称其为被动连接。同时,在有些请求的处理过程中,Nginx会试......
  • 知识图谱顶会论文(ACL-2022) CAKE:用于多视图KGC的可扩展常识感知框架
    CAKE:用于多视图KGC的可扩展常识感知框架.pdf论文地址:CAKE:ScalableCommonsense-AwareFrameworkForMulti-ViewKnowledgeGraphCompletionCAKE:用于多视图知KGC的可扩......
  • 手写现代前端框架diff算法-前端面试进阶
    前言在前端工程上,日益复杂的今天,性能优化已经成为必不可少的环境。前端需要从每一个细节的问题去优化。那么如何更优,当然与他的如何怎么实现的有关。比如key为什么不能使用......