空手道可重用文件在第一次调用后需要很长时间才能执行

问题描述 投票:0回答:1

预订确认是自动化脚本中可重用的文件之一,它运行 api 端点并返回 json 有效负载,这是一个很大的有效负载。当它第一次执行时,它的执行速度非常快,并且在主要功能文件中进行大量验证。在调用预订确认可重用文件的其他操作之后,以验证修改详细信息。但这需要很长时间。不知道为什么?第三次甚至比第二次花费的时间还要长。我认为价值观在这种情况下可能是压倒一切的。当我们从主要功能多次调用可重用文件时,有人可以帮忙解决这个问题,以提高空手道自动化脚本的性能

主要功能

* def bookingConfirmationDetails = call read('classpath:Opera/ReusableFiles/Features/ReusableBookingConfirmation.feature') {basketReference: '#(reference)', country: '#(countryLowerCase)', language: <languageBooking>, bookingChannel: 'PI'}

ReusableBookingConfirmation.feture(可重用文件) @忽略 功能:预订确认

背景: * url 端点 # 输入参数 xApiKey、basketReference、语言、国家、queryFileName、statusCode * defbasketReference = karate.get('reference', null) * def language = karate.get('语言', null) * def 国家 = 空手道.get('国家', null) * def bookingChannel = karate.get('bookingChannel', '') * def queryFileName = karate.get('queryFile', 'BookingConfirmation.graphql') * def statusCode = karate.get('statusCode', 200)

场景:预订确认-体验API * def query = read('classpath:ReusableFiles/QueryPayload/BookingConfirmation/' + queryFileName) * def 变量 = {basketReference: '#(basketReference)', 国家: '#(国家)', 语言: '#(语言)', bookingChannel: '#(bookingChannel)'} 给定请求 { 查询:'#(查询)',变量:'#(变量)'} 标头 X-WHIT-API-KEY = EncryptionUtils.decode(ENCODED_X_WHIT_API_KEY) 当方法发布时 然后断言responseStatus == statusCode

注意:Endpoint 和 ENCODED_X_WHIT_API_KEY 在 karate-config.js 文件中定义

karate
1个回答
0
投票

请查看 hooks 例如

callonce
应该可以解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.