Size: a a a

QA — Load & Performance

2019 February 28

VG

Viktor Ganeles in QA — Load & Performance
:))
источник
2019 March 01

ВС

Вячеслав Смирнов in QA — Load & Performance
Получилось?
Сделай file1.save()
file1.close()
источник

LS

Luke Skywalker in QA — Load & Performance
Я нашел что переменные у меня там были не корректно указаны, отладил этот момент и всё заработало. Эти варианты не успел попробовать) но сохранил для будущего
источник

В

Вячеслав in QA — Load & Performance
У кого то можно по гатлингу проконсльтироваться?
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Вячеслав
У кого то можно по гатлингу проконсльтироваться?
Спрашивай вопрос
источник

В

Вячеслав in QA — Load & Performance
Есть такой метод
def loginRequestPositive(mapContainer: MapContainer) = exec {
   var temp = getRandomUserIndex()
   log.info("user index: {}", temp)
   exec(http("Login")
     .post("/login/email")
     .formParam("username", "testuseremail" + temp + "@test.com")
     .formParam("password", "testPass" + temp)
     .formParam("_csrf", "${csrfToken}")
     .disableFollowRedirect
     .check(status.is(302), header(HttpHeaderNames.Location).saveAs("redirectUrl"))
   ) }
источник

В

Вячеслав in QA — Load & Performance
Использую я его через
def loginScenario(mapContainer: MapContainer): ChainBuilder = {
   exec(csrfRequest)
     .exec(loginRequestPositive(mapContainer))
 }
источник

В

Вячеслав in QA — Load & Performance
И вызываю в классе симуляции
private val scn = scenario("Scenario Name")
     .exec(new GlobalRequests().loginScenario(mapContainer))
источник

В

Вячеслав in QA — Load & Performance
но var temp = getRandomUserIndex()  происходит только один раз и все юзеры получаються с одинаковыми кредами
источник

В

Вячеслав in QA — Load & Performance
Вопрос как при каждой итерации генерить новое число  и соответственно логиниться под разными юзерами
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Вячеслав
Есть такой метод
def loginRequestPositive(mapContainer: MapContainer) = exec {
   var temp = getRandomUserIndex()
   log.info("user index: {}", temp)
   exec(http("Login")
     .post("/login/email")
     .formParam("username", "testuseremail" + temp + "@test.com")
     .formParam("password", "testPass" + temp)
     .formParam("_csrf", "${csrfToken}")
     .disableFollowRedirect
     .check(status.is(302), header(HttpHeaderNames.Location).saveAs("redirectUrl"))
   ) }
Используйте анонимную функцию

Вместо var temp = ...

Написать надо так:
.formParam("username", x => { "testusername" + getRandomUserIndex() } )
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Если написать без x => { } а только вычисление, то тоже будет константа.

Все объекты тут стараются быть идемпотентными - неизменяемыми. Чтобы в многопоточном использовании не было блокировок.
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Вячеслав Смирнов
Используйте анонимную функцию

Вместо var temp = ...

Написать надо так:
.formParam("username", x => { "testusername" + getRandomUserIndex() } )
Тоже вариант
источник
2019 March 03

ВС

Вячеслав Смирнов in QA — Load & Performance
@yndx_technomage какой у тебя вопрос по loadrunner?
источник

AL

Alexander Lebedev in QA — Load & Performance
Вячеслав Смирнов
@yndx_technomage какой у тебя вопрос по loadrunner?
Основной вопрос это вынесение функций логина и логаута в отдельные библиотеки
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Alexander Lebedev
Основной вопрос это вынесение функций логина и логаута в отдельные библиотеки
И используется что, какой протокол? Какой язык?
Си, Ява, Javascript, ...
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Если в общем, то скрипт делится на actions. Например в vuser_init часто логин. А в vuser_end - выход.

И есть подключаемые файлы - *.h, в них можно вынести функции, для того чтобы в разных скриптах лишь ссылаться на них.

Наверно, вопрос про extrafiles *.h
источник

AL

Alexander Lebedev in QA — Load & Performance
Вячеслав Смирнов
И используется что, какой протокол? Какой язык?
Си, Ява, Javascript, ...
Протокол http. Язык любой но больше импонирует Java.
источник

AL

Alexander Lebedev in QA — Load & Performance
Вячеслав Смирнов
Если в общем, то скрипт делится на actions. Например в vuser_init часто логин. А в vuser_end - выход.

И есть подключаемые файлы - *.h, в них можно вынести функции, для того чтобы в разных скриптах лишь ссылаться на них.

Наверно, вопрос про extrafiles *.h
Да, я когда гуглил тоже похожее встречал. Может есть туторы более подробные чем стандартный web tours?
источник