空手道框架RunnerTest.jave中写java脚本常用函数

Writing java script common function in RunnerTest.jave in Karate framework

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

每个功能都有共同的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>>      

可能吗?如何实现?

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

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

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