研发效能 深聊自动化测试 -- 拥抱 PnxTest

尼古拉斯 · 2021年06月04日 · 最后由 尼古拉斯 回复于 2021年06月09日 · 958 次阅读

PnxTest 是一个 Java 语言编写的、非常轻量级的通用型自动化测试框架。虽然轻量,但输出的能力强大。

主要特性:

  • 测试用例的组织&编排:测试步骤 Steps 自动绑定、按需执行
  • 并行运行:对于大规模的测试用例,节省执行时间
  • 测试环境管理:多环境问题
  • 测试数据的加密:敏感数据的脱敏
  • 测试报告:自动产生优雅的 html 测试报告,无需 allure 或其它 html 插件
  • 测试日志:详细追踪,排查问题一目了然
  • CI/CD 整合方便

  • Restful API 请求:get/post/put/delete/options/header

  • 自定义 http 统一网关

  • 自定义 请求签名、请求头、请求连接超时时间、请求数据获取超时时间

  • 动态路由

  • HTTP SSL 一键开启或关闭

  • 数据库数据验证

  • 多数据源请求

  • 数据库时区问题

  • mvc 设计理念:解决代码规范

  • fluent API 设计:让测试用例 coding 飞起来

PnxTest 出现的主要初衷是 帮助解决自动化测试实施过程中一些常见的问题,使自动化测试能够快速落地并产生价值;同时尽量使学习与维护成本低廉。

话不多说,先看最终执行效果:

在线体验执行报告:https://pnxtest.com/user-guide/demo/reporting.html

用法简单演示

//断言
PnxAssert.assertThat(productStatus)
          .as("检查新商品上架成功")
          .isNotNull();
          .isEqualTo(Status.Online);
//http请求
PnxHttp.get("/getProductInfo")
       .queryString("productId", 1024)
       .asObject(Product.class);
//数据库
PnxSql.select("Select productId, ProductName FROM tb_product WHERE productId=:productId")
      .bind("productId", 1024)
      .asOne();

maven 依赖

<!--PnxTest starter parent-->
<parent>
    <artifactId>pnx-test-starter-parent</artifactId>
    <groupId>com.pnxtest</groupId>
    <version>1.0.2</version>
</parent>

<dependencies>
    <!--PnxTest framework core-->
    <dependency>
        <groupId>com.pnxtest</groupId>
        <artifactId>pnx-test-starter-core</artifactId>
    </dependency>
    <!--optional, add this if you need to test http api-->
    <dependency>
        <groupId>com.pnxtest</groupId>
        <artifactId>pnx-test-starter-http</artifactId>
    </dependency>
    <!--optional, add this if you need to operate and validate database-->
    <dependency>
        <groupId>com.pnxtest</groupId>
        <artifactId>pnx-test-starter-db</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

大家可以直接克隆该项目https://github.com/pengtech/integrationTest进行体验。

最后说明

PnxTest 刚已经开源,某些方面可能还不是很完善,欢迎大家 star、fork、提意见提 bug

Github 地址:https://github.com/pengtech/pnxtest
文档地址:https://pnxtest.com
演示或脚手架项目地址:https://github.com/pengtech/integrationTest

共收到 12 条回复 时间 点赞

java 的同学扭起来 666~

我还在看函数式编程,而有一个 95 的已经贪污了 7000W 了

感觉挺像 rest-assured + Testng

redbiscuit 回复

我把它定位为测试界的 springboot😀

可以先看下最后的测试报告效果https://pnxtest.com/user-guide/demo/reporting.html

尼古拉斯 回复

springboot 随便插……而且社区活跃

槽神 回复

嗯嗯嗯,果然是槽神

向大牛学习

框架太多了,学不过来了

笑哼 回复

PnxTest, 你值得拥有!

测试报告用的什么

King 回复

html 测试报告,在 test-outputting 目录下,
效果见https://pnxtest.com/user-guide/demo/reporting.html

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册