在空手道框架的RunnerTest.have中编写javascript常用函数

Posted

技术标签:

【中文标题】在空手道框架的RunnerTest.have中编写javascript常用函数【英文标题】:Writing java script common function in RunnerTest.jave in Karate framework 【发布时间】:2020-08-12 07:51:57 【问题描述】:

我正在研究空手道框架并创建了多个功能文件。

在每个特性中都有通用的java脚本函数 该函数将指定的数据插入到influx DB中

我的功能文件看起来像这样

    #####################################################
          @API Name
    Feature: API test

    #####################################################################################
            Background:
        * def DbUtils 
      * def config 
        * def db 

        * def 
        * def db
        * configure afterScenario = 
java script function to insert code to DB    
"""
    function()
      var info = karate.info; 
      karate.log('after', );
      karate.log('after', );
      karate.log('after', );
      karate.log('after', );
      karate.log('after', );
      var featurenameupdate = info.featureFileName.substring();

      var status="Fail";
      if(!info.errorMessage == null)
        status="Pass";
      
      dbCDB.DBConnection( );
      dbCDB.DBwrite(  );
      dbCDB.connectionClose();
    
    """

    Scenario Outline: <scenarioNm>
    * def req = read('')

    * set req.param.param.id = 
    * set req.param.param.param = 


    #Building the authentication request, storing cookie and response validation

    Given url <<URL>>
    And request req
    When method method
    Then status status code
    Then match response.error
    <<error response>>      

有可能吗?这怎么可能实现?

【问题讨论】:

【参考方案1】:

这正是我推荐使用 Java 互操作的用例。请编写一个可以执行此设置的自定义 Java 实用程序,它也将更容易维护和调试。然后您可以从任何地方轻松调用它。

参考文档:https://github.com/intuit/karate#calling-java

此特定示例使用 JDBC:dogs.feature

【讨论】:

以上是关于在空手道框架的RunnerTest.have中编写javascript常用函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在空手道框架的特征文件中读取响应头值?

如何在空手道框架的特征文件中正确传递表单字段范围?

如何在空手道 UI 自动化框架中截取屏幕截图并将其保存为当前日期和时间 [重复]

如何将黄瓜报告实用程序与空手道框架相结合?

空手道框架的 log4j 漏洞是不是有任何修复/更新?

空手道框架 - 如何检查匹配中的条件 OR 包含响应