У меня есть запрос JDBC, содержащий запрос типа:Сравнить результаты запроса JDBC с JSON HTTP Request Response массив данных
SELECT CUSTOMER_ID, CUSTOMER_NAME, START_DATE, COMPLETE_DATE,
NUMBER_OF_FINDINGS FROM CUSTOMER ORDER BY START_DATE;
Это возвращает 70 записей. Теперь у меня есть HTTP-запрос JSON, чтобы вытащить эти же данные в том же порядке из сетки на веб-странице. Я получаю 70 записей. Как я могу сравнить каждое значение в массивах из БД и массива из ответа JSON? Я нашел информацию о том, как проверить одно значение, но не сравнивать все значения между двумя наборами данных. Я попробовал следующее BeanShell Assertion, но он не работает. Я попытался использовать BSF PostProcessor, чтобы поместить значения JSON в переменные, но это тоже не сработало. Мой Debug Sampler показывает, что он получает значения, но, похоже, не сравнивает их. Любые идеи/мысли будут высоко оценены.
String json_customerId = vars.get("customer_id");
String json_customerName = vars.get("customer_name");
String json_startedOn = vars.get("started_on");
String json_completedOn = vars.get("completed_on");
String json_numberOfFindings = vars.get("number_of_findings");
String db_customerId = vars.get("customer_id");
String db_customerName = vars.get("customer_name");
String db_startedOn = vars.get("started_on");
String db_completedOn = vars.get("completed_on");
String db_numberOfFindings = vars.get("number_of_findings");
int intN = 0
For (intN=0; intN=totalItems; intN++)
if (json_customerId[intN].equals(db_customer_id[intN]))
{
Failure = false;
print("counts match" + json_customerId + db_customer_id);
} else {
Failure = true;
FailureMessage = "Difference detected, json_result: " +
json_customerID >+ " and db_result: " + db_customer_id;
}
Я лично сделать это путь в Java. 1) Создать класс Customer с помощью метода @override equals 2) загрузить данные из JSON и MySQL 3) сравнить два объекта класса Customer с использованием equals. Но, чтобы исправить ваш код, 1) поместите 'Failure = false' перед циклом For 2) удалите ваш' Failure = false; 'в условии if (3) (OPTIONAL) break после' Failure = true; 'Я предполагаю, что если один из поля в 70 записях не совпадают, это должно быть «Ошибка» true. – Tin