Gatling Script выдает предупреждение: «импортированный« Login »навсегда скрыт по определению объекта Login в действиях пакета» - PullRequest
0 голосов
/ 30 января 2020

Я столкнулся с проблемой при запуске моего скрипта Гатлинга в IntelliJ. У меня есть несколько сценариев, которые должны быть выполнены, которые включают в себя логин для выполнения один раз, а затем остальные сценарии / потоки. Все работало нормально для первых 4-5 сценариев, пока я не столкнулся с этим предупреждением -> "import Login' is permanently hidden by definition of object Login in package actions" in the newly created script. Ever since, every script, that includes even the previously running scripts, has started throwing this warning. As a result, even if I ignore and go ahead with executing the script, it stops moving ahead and remains stuck, later throwing this blockage in the console as well -> imported Login" навсегда скрыт по определению объекта Login в действиях пакета.

Я следовал точно так же практика написания сценариев, которую я делал для более ранних сценариев без отклонения от обычного.

Поток:

  1. Выполнение входа в систему
  2. Получение идентификатора сеанса, сгенерированного во время входа в систему action.
  3. Создайте новый сценарий и импортируйте действие Login в этом сценарии, используя, таким образом, захваченное значение идентификатора сеанса.
  4. Проблема возникает, когда я импортирую пакеты действий Login в моем новом сценарии, когда я начинаю видеть исключение только в своем недавно созданном скрипте.

Пожалуйста, помогите.

Спасибо!


//Login Action that is being imported to another action below:


    package jda.Scheduler.actions

    import io.gatling.core.Predef._
    import io.gatling.http.Predef._
    import scala.concurrent.duration._



    object Login {

      def loginAction(): ChainBuilder = {

        group("Login") {

          exec(http("Main_Request")
            .post("/******/****/login?loginName=c***&password=****")
            .header("Accept", "application/json")
            .header("Content-Type", "application/x-www-form-urlencoded")
            .header("Accept-Encoding", "gzip")
            .header("User-Agent", "okhttp/2.7.5")
            .body(StringBody(""""""))
            .check(status.in(200))

            .check(headerRegex("Set-Cookie", "REFSSessionID(.+?);").find.saveAs("SessionID")))
        }
      }
    }


//Different Action where Login is being imported and issues faced:

package jda.Scheduler.actions

import jda.Scheduler.actions.Login ---> Warning appears (imported 'Login' is permanently hidden by definition of object Login in package actions)


import jda.Scheduler.actions.CreateUserAction ---> Warning appears (imported 'CreateUserAction' is permanently hidden by definition of object CreateUserAction in package actions)

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._

object UpdateEmployeeAction {


  def updateEmployeeAction(): ChainBuilder = {

  group ("updateEmployee"){
    exec(http("Main_Request")
        .get("/******/****/****/api/***-***/employees/${userID}")

    .header("Content-Type", "application/json")

    .header("REFSSessionID", "${SessionID}")  ---> This part is being captured and saved //in Login action

    .body(StringBody("""{

  "id": ${userID}, --> This part (${userID}) is being captured and saved in another action, just //like Login Action. Even this is creating same issues.

    "badgeNumber": ${userloginname},
    "birthDate": "1900-07-31T00:00:00",
    "hireDate": "2019-08-12T00:00:00",
    "seniorityDate": "2019-08-12T00:00:00",
    "minorStatus": "Minor",
    "isManagement": false,
    "managerPassword": null,
    "managerInSchedule": false,
    "generateException": true,
    "generateAlerts": true,
    "canWorkUnassignedJobs": true,
    "schedulingTypeCode": "Manual",
    "ignoreBiometricValidation": false,
    "punchValidationCode": "NoScheduleValidation"
}"""))

    .check(status.in(200))

        )}}
  }
...