从第二个功能文件调用第一个功能,失败而没有指定线索

时间:2019-05-20 03:27:04

标签: karate

成功运行第一个功能文件,但是,从第二个功能调用该文件。功能失败,没有任何分析线索。您有什么想法可以帮助我找到根本原因吗?

我的第一项功能的来源:

Feature: 采样管理-样本登记

  Background: 读取随机生成的条形码、手机号、采样类型等作为入参
    * url baseURL

    * def randomData = Java.type('utils.RandomData')
    * def barcode = randomData.getRandom(11)
    * def randomPhone = randomData.getTelephone()
    * def sampletype = randomData.getNum(0,1)

  Scenario: 输入合法参数进行正常样本登记,确认能够登记成功

    Given path 'iEhr/PersonSample'
#    * header Content-type = 'application/x-www-form-urlencoded; charset=UTF-8'
    * cookies { JSESSIONID: '#(jsessionID)',SESSION: '#(sessionID)', ACMETMP: '#(acmetmpID)'}
    * def autoMotherName = "autoMname"+ barcode

#    * def confData = {mothername: "#(autoMotherName)", barcode: "#(barcode)", mobile: '#(randomPhone)', sampletype:"#(sampletype)" }
#   设置sampletype为1,已被采样
    * def confData = {mothername: "#(autoMotherName)", barcode: "#(barcode)", mobile: '#(randomPhone)', sampletype:"1" }
#    打印入参变量输出
    * print confData

#    用例与数据分离
    * def paramObj = read('classpath:mainFlow/sampleSaveReqTest.json')
    * print paramObj
    * form field param = paramObj

    When method post

    Then status 200
    * json result = response[0].result
    * def personId = result[0].personid
    * def sampleid = result[0].sampleid
    * print personId
    * print sampleid

我第二个功能的来源:

Feature: 提交递送样本
  Background:

    * def sampleResult = call read('classpath:mainFlow/first.feature')
    * print sampleResult

我先运行first.feature,它起作用了。但是,空手道在运行second.feature之后会在下面报告错误。知道如何调试才能找到根本原因吗?我不知道二读有什么问题。非常感谢!

* def sampleResult = call read('classpath:mainFlow/first.feature')

-unknown-:14-JavaScript评估失败:read('classpath:mainFlow / first.feature'),空

1 个答案:

答案 0 :(得分:1)

寻找karate-config.js的某些问题。正如巴布(Babu)在评论中所说,要弄清楚问题出在哪里,我建议您遵循以下过程:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

还尝试使用最新的预览版本0.9.3.RC2更好地显示错误是什么。

如果您可以将问题复制为一个小例子,它将对我们有帮助-因为我们确实需要更好地显示更多有用的错误日志,而不仅仅是null