Но когда я пытаюсь передать URL-адрес объединенной строки в функцию JS, происходит сбой, она всегда передает литералы.
Значения Page и AssetType прекрасно передаются в Javascript, а вот объединенный URL-адрес — нет.
Я уже пробовал различные подходы, например передача concatUrl напрямую, с использованием явного определения объединенной строки, с использованием функции URL-адреса Karate.get, никакой разницы.
Кажется, конкатенация не оценивается до вызова функции JS?
Как передать значение concatUrl в функцию check_hashes.js?
Код: Выделить всё
Feature: Asset Hash Validation
Background:
* def envConfig = karate.read('classpath:envs.json')[karate.env]
* def baseUrl = envConfig['base_domain']
* def basePort = envConfig['base_port']
Scenario Outline: JS and CSS assets have hashes in their URLs
Given url
Given path
* def fullUrl = karate.get('url')
* def params = { url: , path: , assetType: }
* def noHashCount = call read('check_hashes.js') params
When method get
Then status 200
And match noHashCount == 0
Examples:
| concatUrl | Page | AssetType |
| baseUrl + 'fr' + basePort | '/fr/home' | 'css' |
| baseUrl + 'fr' + basePort | '/fr/home' | 'js' |
| baseUrl + 'com' + basePort | '/en/home' | 'all' |
Подробнее здесь: https://stackoverflow.com/questions/797 ... unction-ca
Мобильная версия