预订确认是自动化脚本中可重用的文件之一,它运行 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 文件中定义
请查看 hooks 例如
callonce
应该可以解决这个问题。