2017-12-17 2 views
0

나는 Gatling.io를 사용하여 웹 사이트를 테스트하고 있습니다. 여러 가상 사용자가있는 시나리오가 있습니다.Gatling.io는 가상 사용자간에 데이터를 공유합니다.

val users = scenario("Users").exec(Session.browse) 
val admins = scenario("Admins").exec(Session.create) 

나는 admin 사용자가, 내가 테스트하고있어 웹 사이트에 "세션"을 만들 웹 사이트에 의해 반환 된 결과에서 세션 이름을 저장하고 이전에 만든 세션을 방문하는 다른 사용자를 갖고 싶어 사용자 admin으로부터 세션 이름을 얻습니다.

사용자간에 세션 이름을 공유하려면 어떻게해야합니까?

답변

1

나는 이것을위한 기본 Gatling 대답이 세션을 생성하고 그것을 어떤 종류의 파일에 유지하고 새로운 시뮬레이션에서 그 값을 읽고 사용자가 선택하도록하는 것이라고 생각한다. '패닝 아웃'은 실제 하나의 시뮬레이션에서 개틀링이 지원하는 시나리오는 아닙니다.

그런데, 정말로 원한다면 퍼지 할 수 있습니다. 특히 관리자 사용자가 한 번만 실행하면되고 시뮬레이션 파일 내에서 시나리오를 정의 할 준비가 된 경우 특히 유용 할 수 있습니다.

'mySession'VAR에 세션의 값을 저장 '관리자'시나리오의 일환으로
class simulation extends Simulation { 
    private var mySession = "NOT_SET" 

val users = scenario("Users").exec(Session.browse) 
val admins = scenario("Admins").exec(Session.create) 
} 

사용자의 일부 mySession 'var에'시나리오는에서 세션 변수를 설정 '으로

그것은 신속하고 더러운 데이터 시드를위한 작품을 좋아하지만, 당신이 정말로 개틀링 설계 방법의 성미에 절단하고

setUp(
admins.inject(
    atOnceUsers(1) 
), 
users.inject(
    nothingFor(1 minutes), //enough time for admins to complete 
    atOnceUsers(10) //or however many you need 
) 

다음과 같은 시뮬레이션 뭔가를 실행

... .

+0

답변 해 주셔서 감사합니다. 나는 마침내 내 기대치를 낮춰보다 간단한 시뮬레이션을 실행했다. – Shengis

관련 문제