Многочастное поле для каратэ;можно перейти в функцию? - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть несколько тестовых случаев, когда мне нужно загрузить файл и дать ему имя.Чтобы сократить время, я хочу загрузить один и тот же файл несколько раз, но случайным образом генерировать для него имя при каждом проходе.

Что у меня есть для сценария:

* def randomFile =
"""
function randString(length,chars) { 
    var result = '';
    for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
    return result;
}
"""
* def getFilename = randomFile(6, "abcdefgh")

Given url
And request ''
And multipart fields { "profile": "Smoke Test Uploads", "filename": getFilename, "url": "https://s3.file.foo.bar" }
When method post
Then status 201

Когда я смотрю на мой загруженный файл, у него есть имя файла getFilename

Могу ли я вызвать функцию в запросе на публикацию, подобную этой, или каким-либо другим способом сделать это?

1 Ответ

0 голосов
/ 27 февраля 2019

Использование встроенного выражения каратэ

And string getFilename = java.util.UUID.randomUUID()
And multipart fields { "profile": "Smoke Test Uploads", "filename": #(getFilename), "url": "https://s3.file.foo.bar" }

Примечание: UUID.randomUUID () дает вам более удобный способ генерации случайных имен файлов, если это не сработаломожете использовать собственную функцию js

...