t.me/atinfo_chat Telegram группа по автоматизации тестирования

Artillery.io как отправить заголовок на сервер перед тестированием socket.io

Теги: #<Tag:0x00007f74865cd440> #<Tag:0x00007f74865cd350> #<Tag:0x00007f74865cd288>

Всем привет! Написал небольшой тест для тестирования socket.io, теперь пытаюсь его расширить. Сейчас пытаюсь передать заголовок перед началом тестирования socket.io, но пока что ничего не получается. Может кто работает с этим инструментов и знает, как это сделать?

Мой сценарий

onfig:
  target: "https://testing.ros.chat:8080"
  ensure:
    maxErrorRate: 1
  socketio:
    transports: ["websocket"]
  phases:
    - duration: 1  # Test for 60 seconds
      arrivalRate: 1 # Every second, add 10 users
      maxVusers: 1
      #rampTo: 10 # And ramp it up to 100 users in total over the 60s period
      name: "Ramping up the load"
  ws:
    # Ignore SSL certificate errors
    # - useful in *development* with self-signed certs
    rejectUnauthorized: false
  payload:
    path: "./users.csv"
    fields:
      - "login"
      - "password"
      - "level"
    skipHeader: true
    order: sequence
scenarios:
  - name: "send headers"
    enfine: ws
    flow:
      - get:
          url: "/socket.io/?EIO=3&transport=websocket"
          headers:
            Accept-Header: "*/*"
            Accept-Encoding: "gzip, deflate, sdch, br"
            Accept-Language: "ru,en;q=0.9"
            User-Agent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 YaBrowser/20.4.3.268 (beta) Yowser/2.5 Safari/537.36"
  - name: "Scenario login user and get user params"
    engine: socketio
    flow:
      - log: "Login users {{ login }} on server"
      - emit:
          channel: "login"
          data: {"login":"{{ login }}","password":"{{ password }}","APILevel":"{{ level }}"}
          acknowledge:
            match:
              json: "$.0.status"
              value: "ok"
      - emit:
          channel: "get-user-info"
          data: null
          acknowledge:
            match:
              - json: "$.0.extParams.httpServer"
                value: "testing.ros.chat:80"
              - json: "$.0.extParams.stunServer"
                value: "testing.ros.chat:3478"
              - json: "$.0.extParams.locationsRev"
                value: "1"
      - emit:
          channel: "get-user-params"
          data: null
          acknowledge:
            match:
              - json: "$.0.httpServer"
                value: "testing.ros.chat:80"
              - json: "$.0.stunServer"
                value: "testing.ros.chat:3478"
              - json: "$.0.locationsRev"
                value: "1"
      - think: 5
      - emit:
          channel: "logout"

Заголовок

Почитать документацию и матчасть того что тестируете.
На отправку хедера написана белиберда, начиная от опечатки в enfine: ws и заканчивая get запросом в сокетах.

1 Симпатия

Уже перепробовал много способов, но так и не получилось передать на сервер user-agent. Есть ли возможность в этом инструменте передать этот параметр в заголовке?