Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Тестирование сервисов


(Abreva) #1

Подскажите инструмент для тестирования сервисов.
Цель я отправляю запрос о регистрация пользователя user777.
Сервис пришлет мне ответ о регистрации данного юзера
я повторно отправляю зарегай мне user777, мне придет ответ, такой уже есть,
И именно это должен буду проверить.

И все в таком духе, какие инструменты существуют? Особенно интересует интеграция с Jenkins что бы все происходило в автоматическом режиме.


(Sergey Ivanskoy) #2

Посмотрите в сторону SoapUI - это, так сказать, инструмент.
Или пишите тесты, например, на java, использующие отправку необходимых вам запросов.


(Andrey Kharkov) #3

Может Charles чем - то поможет.


(Abreva) #4

Сервис умеет отдавать Json и HTTP
быстро просмотрев Soap UI понял что он с ними не умеет нормально работать а лишь с XML, в связи с чем вопрос, если умеет все таки адекватно работать то подскажите с чего начать можно видео или лекции каке нибудь.

А возможно есть и лучше инструменты.
UPD все таки я думаю с Charles мне будет трудновато его дружить с дженкисном


(Keiga) #5

Можно просто на Java через HttpClient отправлять нужные запросы, им же получать response, расковыривать его и через JUnit\TestNG делать нужные assert’ы


(Sergey Ivanskoy) #6

При чем здесь Charles ? Charles, Fiddler, HttpScoop, WireShark и т.д. это инструменты для снифинга и/или отладки запросов.
По поводу SoapUI, к сожалению, ничем вам помочь не могу - я не с ним не работал. Можно поискать в сети про json и SoapUI (например, одна из первых линок http://www.robert-nemet.com/2012/08/json-asserting-in-soapui.html)
Проще всего с Дженкинс - это написать свои тесты и парсить ответы, например, на java, используя HttpURLConnection или Apache HttpClient (или писать на python).
Вряд ли вы подружете хорошо какой-то инструмент с Дженкинсом (если вообще это толково можно сделать без каких-либо костылей и т.п.)


(Sergey Korol) #7

Можно написать простенький рест клиент, используя, к примеру, Jersey.

Маленький пример, насколько легко отправлять запросы:

	private Client client;
	private WebTarget service;

	public RemoteScreen(final String ip, final int port)
	{
		client = ClientBuilder.newBuilder()
				.register(ObjectMapperProvider.class)
				.register(JacksonFeature.class)
                .build();

		service = client.target("http://" + ip + ":" + port + "/sikuli");
	}

	public boolean click(final IImageElement image, final int timeout)
	{
		return service.path("image")
				.path("click")
				.queryParam("timeout", timeout)
				.request(MediaType.APPLICATION_JSON)
				.post(Entity.json(image))
				.getStatus() == Response.Status.OK.getStatusCode();
	}

(apetrovskiy) #8

SoapUI, разумеется, умеет работать с REST. Его можно автоматизировать через его SDK, а также запускать с коммандлайна.


(Eugene Tkachenko) #9

Вы можно сказать сами ответили в каком вам направлении искать: если приложение отдает Json и HTTP, то какие могут быть проблемы, используйте рест клиент, или же используйте либу которая работает с REST.

Для Ruby используйте: https://github.com/rest-client/rest-client


(Abreva) #10

ага спасибо посмотрим и в эту сторону


(Abreva) #11

Проблема никто из нас тестировщиков не знает Ruby только Java


(Eugene Tkachenko) #12

Не суть важно какой язык, я вам привел аналогию, что бы показать прям пальцем, то вот: http://harryjoy.com/2012/09/08/simple-rest-client-in-java/


(Abreva) #13

Спасибо за наводку!


(rmerkushin) #14

Я бы еще посмотрел в сторону Robot Framework + RequestsLibrary. Очень просто и быстро можно написать тесты.


(Максим Таран) #15

На SoapUI через встроенный груви json вообще не проблема обработать. С HTTP он и сам позволяет.


(zub_test) #16

Мы используем REST-Assured для тестироавния веб сервисов. Очень удобная и гибкая штука: