Size: a a a

QA — Load & Performance

2020 September 16

AZ

Andrei Zayats in QA — Load & Performance
Всем привет.
В одном из тестов мы используем Jmeter + Web Driver Sampler. Скрипт запускается в Docker контейнере.
Столкнулись с проблемой в контейнере отрабатывает только один поток, остальные не запускаются и выдают сообщение об ошибке:
Session ID: 248515019a11dd351c0482ee5c0447c7
2020-09-15 21:32:16,502 ERROR c.g.j.p.w.s.WebDriverSampler: invalid session id
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: '557ba73e483d', ip: '192.168.1.3', os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.104-microsoft-standard', java.version: '1.8.0_252'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 83.0.4103.116, chrome: {chromedriverVersion: 83.0.4103.116 (8f0c18b4dca9..., userDataDir: /tmp/.org.chromium.Chromium...}, goog:chromeOptions: {debuggerAddress: localhost:34661}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(system), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
Session ID: 866086f0c2031c6046d5c581653532c3
2020-09-15 21:32:16,504 ERROR c.g.j.p.w.s.WebDriverSampler: invalid session id
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: '557ba73e483d', ip: '192.168.1.3', os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.104-microsoft-standard', java.version: '1.8.0_252'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 83.0.4103.116, chrome: {chromedriverVersion: 83.0.4103.116 (8f0c18b4dca9..., userDataDir: /tmp/.org.chromium.Chromium...}, goog:chromeOptions: {debuggerAddress: localhost:41741}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(system), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
Session ID: ae55c970180d91209082edb86c94ba64

Может кто сталкивался с подобным и знает как это победить?
источник

DK

Denys Kozachok in QA — Load & Performance
Ребят подскажите пожалуйста, через что можно сделать нагрузочное тестирование фронта?
источник

A

Alexander in QA — Load & Performance
Denys Kozachok
Ребят подскажите пожалуйста, через что можно сделать нагрузочное тестирование фронта?
jMeter
источник

A

Alexander in QA — Load & Performance
Denys Kozachok
Ребят подскажите пожалуйста, через что можно сделать нагрузочное тестирование фронта?
Или фронт имеется ввиду именно GUI типа селениум тестов?
источник

DK

Denys Kozachok in QA — Load & Performance
Alexander
Или фронт имеется ввиду именно GUI типа селениум тестов?
Ага имею ввиду что gui
источник

MT

Max Tretyakov in QA — Load & Performance
Всем привет. Может кто то подскажет элегантное решение моей проблемы)
Суть вот в чем. Грузим DB Cassandra через Gatling. Insert и Select (по timestamp и guid) вытаскивается некоторый объем бинарных данных
Но select нам нужно делать только по записям старше времени N, чтобы не попадать в кеш. Где лучше хранить guid и timestamp чтобы потом к ним обращаться?
Можно использовать редис, но может есть вариант без использования чего то стороннего?
источник

A

Alexander in QA — Load & Performance
Denys Kozachok
Ага имею ввиду что gui
Я только hp loadrunner знаю для этого, сам с ним работал немного, но не смог подружиться. А вообще нигде не сталкивался с таким требованием. Gui на клиенте и мало волнует именно с этой точки зрения
источник

A

Alexander in QA — Load & Performance
Denys Kozachok
Ага имею ввиду что gui
Если речь не о нагрузке, а просто измерении производительности на клиенте, тот тут чистый селениум может помочь, например
источник

A

Alexander in QA — Load & Performance
Я делал, например, следующее, для тестирования фронта - jMeter генерировал нагрузку, а селениум измерял производительность на клиенте
источник

DK

Denys Kozachok in QA — Load & Performance
Alexander
Если речь не о нагрузке, а просто измерении производительности на клиенте, тот тут чистый селениум может помочь, например
Спасибо
источник

DK

Denys Kozachok in QA — Load & Performance
Alexander
Я делал, например, следующее, для тестирования фронта - jMeter генерировал нагрузку, а селениум измерял производительность на клиенте
А как измеряли производительность?
источник

A

Alexander in QA — Load & Performance
Denys Kozachok
А как измеряли производительность?
jMeter стандартные данные, которые он предоставляет - latency, time to last byte и тд, селениум имеет возможность замерять время отклика до прявления элементов, из загрузки и тд. Но по идее можно скомбинировать jMeter и loadrunner, loadrunner вроде бесплатен, если мало потоков использовать и у него есть recording, можно накликать и записать сценарии. В селениум сложнее ьудеет заходить
источник

AZ

Andrei Zayats in QA — Load & Performance
Denys Kozachok
Ага имею ввиду что gui
Мы используем Jmeter + Web Driver Sampler. Без докера свои задачи выполняло. Сейчас решили в контейнер сложить, пока есть проблемы.
источник

A

Alexander in QA — Load & Performance
Andrei Zayats
Мы используем Jmeter + Web Driver Sampler. Без докера свои задачи выполняло. Сейчас решили в контейнер сложить, пока есть проблемы.
Тоже вариант, хотя сам не пробовал
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Max Tretyakov
Всем привет. Может кто то подскажет элегантное решение моей проблемы)
Суть вот в чем. Грузим DB Cassandra через Gatling. Insert и Select (по timestamp и guid) вытаскивается некоторый объем бинарных данных
Но select нам нужно делать только по записям старше времени N, чтобы не попадать в кеш. Где лучше хранить guid и timestamp чтобы потом к ним обращаться?
Можно использовать редис, но может есть вариант без использования чего то стороннего?
import java.util.concurrent.ConcurrentHashMap;
import scala.collection.JavaConversions._;

var guidCashe = new ConcurrentHashMap[String, Integer]();


... Уже внутри кода

.exec { session =>
guidCashe.put(session.get("guid"), session.get("timestamp"))

session}
источник

MT

Max Tretyakov in QA — Load & Performance
Вячеслав Смирнов
import java.util.concurrent.ConcurrentHashMap;
import scala.collection.JavaConversions._;

var guidCashe = new ConcurrentHashMap[String, Integer]();


... Уже внутри кода

.exec { session =>
guidCashe.put(session.get("guid"), session.get("timestamp"))

session}
Спасибо!!! Попробую.
источник

L

Leonids in QA — Load & Performance
Alexander
Тоже вариант, хотя сам не пробовал
Вот вариант https://www.webpagetest.org/

Также есть там опция установить на своем железе этот webpagetest и пользоваться  так.
источник

KY

Kirill Yurkov in QA — Load & Performance
Denys Kozachok
Ребят подскажите пожалуйста, через что можно сделать нагрузочное тестирование фронта?
зачем нагружать фронт им же 1 человек пользуется?
источник

Y

Yevhen in QA — Load & Performance
Denys Kozachok
Ребят подскажите пожалуйста, через что можно сделать нагрузочное тестирование фронта?
источник

KY

Kirill Yurkov in QA — Load & Performance
оно же не нагружает ничего
источник