Какво е твърдение?
Помощта за твърдение потвърждава, че тестваният сървър връща очакваните резултати.
Видове твърдения
Следват някои често използвани твърдения в JMeter:
- Твърдение за отговор
- Утвърждаване на продължителността
- Утвърждаване на размера
- XML твърдение
- HTML твърдение
- Стъпки за използване на твърдение за отговор
Твърдение за отговор
Твърдението за отговор ви позволява да добавяте низове на шаблони, които да се сравняват с различни полета на отговора на сървъра.
Например изпращате потребителска заявка до уебсайта http://www.google.com и получавате отговора на сървъра. Можете да използвате твърдение за отговор, за да проверите дали отговорът на сървъра съдържа очакван низ на шаблон (напр. "OK").
Утвърждаване на продължителността
Утвърждаването на продължителността тества, че всеки отговор на сървъра е получен в рамките на определен период от време. Всеки отговор, който отнема повече от зададения брой милисекунди (посочен от потребителя), се маркира като неуспешен отговор.
Например потребителска заявка се изпраща до www.google.com от JMeter и получава отговор в рамките на очакваното време 5 ms, след което Test Case преминава, в противен случай тестовият случай е неуспешен.
Утвърждаване на размера
Утвърждаването на размера тества, че всеки отговор на сървъра съдържа очаквания брой байтове в него. Можете да посочите размерът да бъде равен на, по-голям от, по-малък от или не равен на даден брой байтове.
JMeter изпраща потребителска заявка до www.google.com и получава пакет за отговор с размер по-малък от очаквания байт 5000 байта тест тест. Ако е друго, тестовият случай е неуспешен.
XML твърдение
XML Assertion тества, че данните за отговорите се състоят от формално правилен XML документ.
HTML твърдение
HTML твърдението позволява на потребителя да проверява HTML синтаксиса на данните за отговора. Това означава, че данните за отговорите трябва да отговарят на HTML синтаксиса.
Стъпки за използване на твърдение за отговор
Ще продължим по сценария, който разработихме в предишния урок.
В този тест използваме твърдение за отговор, за да сравним пакета за отговор от www.google.com, който отговаря на очаквания низ.
Ето пътната карта за този тест:
Контролният панел за твърдение за отговор ви позволява да добавяте низове на шаблони, които да се сравняват с различни полета на отговора.
Стъпка 1) Добавете твърдение за отговор
Щракнете с десния бутон на мишката върху група нишки -> Добавяне -> Твърдения -> Твърдение за отговор
Панелът за твърдение за отговор се показва, както е показано на фигурата по-долу:
Стъпка 2) Добавете шаблон за тест
Когато изпратите заявка до сървъра на Google, тя може да върне някакъв код за отговор, както е показано по-долу:
- 404 : Грешка в сървъра
- 200 : Сървърът е ОК
- 302 : Уеб сървърът пренасочва към други страници. Това обикновено се случва, когато влизате в google.com от външната страна на САЩ. Google пренасочва към уебсайт, специфичен за държавата. Както е показано по-долу, google.com пренасочва към google.co.in за индийски потребители.
Да предположим, че искате да проверите дали кодът за отговори на уеб сървъра google.com съдържа шаблон 302,
В полето за отговор за тестване изберете код за отговор,
В панела за твърдение за отговор щракнете върху Добавяне -> нов празен дисплей -> въведете 302 в Образец за тестване.
Стъпка 3) Добавяне на резултати от твърдение
Щракнете с десния бутон върху нишка, Добавяне -> Слушател -> Резултати от твърдение
Стъпка 4) Стартирайте теста си
Щракнете върху Thread Group -> Assertion Result
Когато сте готови да стартирате тест, щракнете върху бутона Run в лентата с менюта или кратък клавиш Ctrl + R.
Резултатът от теста ще се покаже в прозореца Assertion Results. Ако кодът за отговор на сървъра на Google съдържа модела 302 , тестовият случай се предава. Ще видите съобщението, показано по следния начин:
Сега обратно към панела за твърдение за отговор, вие променяте шаблона, за да тествате от 302 на 500.
Тъй като кодът за отговор на сървъра на Google не съдържа този модел, ще видите тестовия случай Неуспешен, както следва:
Отстраняване на неизправности:
Ако се сблъскате с проблема, докато изпълнявате горните сценарии ... направете следното:
- Проверете дали се свързвате с интернет чрез прокси сървър. Ако да, премахнете проксито.
- Отворете нов екземпляр на JMeter
- Отворете AssertionTestPlan.jmx в JMeter
- Щракнете върху Thread Group -> Assertion Result
- Стартирайте теста