空手道特征文件中的String.split()返回异常

塔兰

我不确定如何从已创建的功能中拆分响应字符串以获得响应标头“ Location”值。

我尝试过的

1)

Feature: Create Tariff

  Background:
  * def result = call read('../../get-user-token.feature')
  * def serviceId = call read('create-service.feature')

  Scenario: Create Tariff
    Given url 'https://app-dev.topbox.pro/tariff-svc/api/v1/tariffs'
    And header Authorization = result.response.token_type + " " + result.response.access_token
    And request
      """
      {
      serviceTypeId: '#(serviceId.responseHeaders['Location'].split('/')[1])',
      owner: 1,
      type: 0,
      pencePerMile: '69.69',
      minMileage: '1.00',
      minCost: 5,
      zoneFrom: '',
      zoneTo: '',
      fixedCost: 0
      }
      """
    When method POST
    Then status 201

导致...

IntegrationTests.TestSetup.create-tariff:create-tariff.feature:10-net.minidev.json.parser.ParseException:位置46处的令牌L异常。

2)

Feature: Create Tariff

  Background:
  * def result = call read('../../get-user-token.feature')
  * def serviceId = call read('create-service.feature').responseHeaders['Location'].split('/')[1]

  Scenario: Create Tariff
    Given url 'https://app-dev.topbox.pro/tariff-svc/api/v1/tariffs'
    And header Authorization = result.response.token_type + " " + result.response.access_token
    And request
      """
      {
      serviceTypeId: '#(serviceId)',
      owner: 1,
      type: 0,
      pencePerMile: '69.69',
      minMileage: '1.00',
      minCost: 5,
      zoneFrom: '',
      zoneTo: '',
      fixedCost: 0
      }
      """
    When method POST
    Then status 201

导致...

失败的功能:IntegrationTests.TestSetup.create-tariff:-未知-:5-JavaScript评估失败:read('create-service.feature')。responseHeaders ['Location']。split('/')1,TypeError:无法从第1行的undefined中读取属性“ Location”

注意指定的功能“ create-service.feature”在隔离时确实可以工作,并且会产生响应头,如下所示

位置标题响应

彼得·托马斯

使用lastIndexOf代替split

* def location = responseHeaders['Location'][0]
* def serviceId = location.substring(location.lastIndexOf('/') + 1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

空手道API-为什么响应未返回被调用的特征文件

从具有多个场景的特征文件返回变量-空手道

调用空手道特征文件返回响应对象,包括父场景先前响应对象的多个副本

空手道中特征文件的异步执行

无法在Eclipse中运行以空手道编写的特征文件作为黄瓜特征

如何用空手道特征文件中的.js文件的参数调用Javascript函数

空手道中的特征文件中如何循环播放

如何在加特林模拟中运行多个空手道特征文件?

空手道特征文件中的无法打印标题

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

如何在空手道框架中多次运行特征文件?

在空手道中循环具有不同参数的相同特征文件

如何在空手道特征文件变量中存储Java方法结果?

如何在空手道特征文件中传递身体类型?

在空手道DSL中,调用JavaScript文件会返回java.lang.RuntimeException

如何将参数传递给Selenium Java测试文件中的空手道特征文件

有没有一种方法可以从黄瓜特征文件方案中调用空手道特征文件方案?

如何在空手道中的特征文件中设置和检索全局变量的值?

如何将特征文件关键字连接到空手道中的 Java 代码?

如果使用空手道在特征文件中满足条件,如何跳过下一步

我如何匹配来自空手道特征文件中的外部方法的布尔值

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

如何从空手道特征文件中集成Cassandra以删除测试数据

空手道:处理来自调用特征文件的肥皂响应

空手道0.9.1-线程“主”中的异常java.lang.StackOverflowError

空手道-无效的jsonpath引发异常

空手道是否使用解释器或编译器来运行基于特征文件的代码?

加特林(Gatling)模拟完成后如何运行空手道特征文件

空手道-在当前特征文件中生成随机字母数字字符串