среда, 5 апреля 2017 г.

Users — на чем потестить SOAP и REST

Система Users

Используйте систему Users, если хотите попрактиковаться в тестировании, а негде. Там есть специально зашитые в код баги, интересный с точки зрения классов эквивалентности функционал и даже SOAP и REST-запросы!


Явки, пароли


Система — http://users.bugred.ru
Менеджер — manager@mail.ru / 1

WSDL — http://users.bugred.ru/tasks/soap/WrapperSoapServer.php?wsdl (SOAP)
REST —  http://users.bugred.ru/tasks/rest/list (Все методы тип POST)

Краткое описание методов см ниже в ТЗ.
Полная документация, включая описание параметров вызова см в конфлюенсе (в конфлюенс надо войти, данные см тут).


См также:
Как отправить SOAP-запрос в Soap Ui — видео


Обновления системы:
Тут можно пощупать REST-методы с массивами!
Тут можно передать файл через REST-запрос!

Тут будут ссылки на статьи, как вообще можно вызывать SOAP и REST, пока самостоятельно гуглим :)

Я как автор могу дропнуть базу в любой момент — учитывайте это. Если вдруг ваши данные пропадут, это нормально.



Откуда это и зачем


Исходно Users создавался как "побочный продукт" для курса «Техники и инструменты локализации багов».  У разработчика я попросила два сайта, которые должны были быть взаимосвязаны. Ведь на стыке двух программ больше всего багов. А как понять, кто виноват? В чьи логи смотреть, как отловить виноватого? Поэтому в основном сайте есть возможность зарегистрироваться через Users. Разумеется, она работает не всегда Wink ;) Это дает нам шанс поиследовать взаимосвязи в интеграции.

Вот, казалось бы, и все. Тогда что такое Юзерс? Ну, просто некий телефонный справочник. Но ведь аппетит приходит во время еды! Пока я писала требования, я вспоминала свои фриланс проекты и волшебные баги, которые на них находила. Так мы навинтили кучу разного функционала:


— Можно создавать задачи и вешать на конкретного исполнителя;
— Задачи можно вешать в крон! Чтобы они запускались по времени;
— Если я повесила задачу на Васю — ему придет уведомление об этом. И за 5 минут до того, как придет срок ее сделать. И ровно в срок. Вот!
— В списке задач к исполнению можно нажать "выполнил / продолбал" и задача уедет в соответствующий список :)
— Есть список нотификаций, где ты можешь просмотреть все уведомления;
— Есть отдельная роль менеджера, который видит вообще все задачи и кто что продолбал (а так ты видишь только свои)
— При просмотре пользователя есть ссылка на задачи, которые на нем висят;
— Поиск, фильтрация списка пользователей;
— Все действия можно выполнять не только через  интерфейс, но и через SOAP и REST-запросы.

В общем, как-то так! Причем для курса мне реально нужно немного:

  1. Интеграция с основным проектом.
  2. Разные хитрые граничные значения (будете тестировать → не забывайте про консоль разработчика!).
  3. SOAP + REST. Хотя на самом деле только SOAP, для REST у нас другое задание, в 10 раз круче Smile :) Но оно в закрытом доступе, поэтому я и для «открытой всем» системы попросила добавить. Буду делать всякие обучающие статьи и видеоролики теперь на примере Users!
Весь остальной функционал — задел на будущее. Может, в каком курсе с классами эквивалентности будем разбирать, может, просто статьи напишу. Ведь классный же функционал! Интересный, нетривиальный, взаимосвязанный...

В общем, тестируйте на здоровье ツ
Я даже ТЗ для вас подготовила! Причем реальное ТЗ, которое выдавалось фрилансеру. Да да, подробнейшая документация на 100 листов чаще всего миф. И когда ее нету, хорошо бы иметь ну хотя бы вот так, кратенько )))


ТЗ на первую версию Users (техническое задание)



Система Users, сотрудники
Делаем отдельную систему пользователей.


1. Регистрация / авторизация


Там есть регистрация, ник + пароль → заводится карточка в этой же системе.
Плюс регистрация через соцсети.

Через SOAP / REST методы:

  • doRegister — в ответе карточка созданного клиента или текст ошибки. Пользователь создается и появляется в системе. Автор у него будет «SOAP»
  • doLogin — проверка правильности логина-пароля. Возвращает true / false 


2. Список сотрудников


Главная — список сотрудников, возможность создать нового.
Ты можешь посмотреть любого, но изменить или удалить только своего.

Доступен поиск по ФИО пользователя, его емейлу или автору (отсортировать всех, кого создал сам). Также есть фильтрация по дате изменения — посмотреть всех, созданных / измененных вчера итд. Все фильтры можно сбросить одной кнопкой.

Колонки в списке сотрудников можно сортировать. Сортировка идет по всей базе, а не только по той странице, на который ты находишься.

Если сотрудник свежесоздан / изменен, он попадает наверх списка → бай дефолт сортировка по дате изменения по убыванию.


3. Карточка сотрудника


Поля карточки, в основном просто текстовые поля:

Email
ФИО
Пол --- выпадайка
Дата рождения --- дата
Начал работать в компании --- дата
Хобби
имя1
фамилия1
отчество1
Кошечка
Собачка
Попугайчик
Морская свинка
Хомячок
Белочка
Телефон
Адрес

Создавать дубли по нику или ФИО нельзя, мы считаем, что все ФИО уникальны.

SOAP / REST методы:

  • getUser — возвращает карточку пользователя;
  • UpdateUserOneField — изменить одно любое поле у пользователя;
  • FullUpdateUser — изменить все поля. В запросе обязательно передать все. Если оставить пустым — поля затрутся


4. Список задач


Говорят, нынче модно писать реализацию туду-листов, вот и мы напишем =) На самом деле это ради обертки над cron (см след пункт).

Заходишь в раздел, можешь создать задачу:
— Название string(50)
— Описание string(500)
— Ответственный (тут отображаются ФИО всех сотрудников)

Она появляется в списке задач, где можно ее изменить, удалить или добавить в расписание.
Простой пользователь видит только свои задачи, менеджер → вообще все. И все может менять.

SOAP / REST методы:

  • CreateTask — создать задачу, в ответе сама задача. Она появляется в интерфейсе.
  • UpdateTask — обновить задачу. В ответе будет просто «Задача успешно изменена!»
  • DeleteTask — удалить задачу из списка. Вернет текст «Задача с ID 17 успешно удалена». Чтобы удалить задачу, нужно знать ее ID. ID возвращается в ответе метода CreateTask + его видно в режиме просмотра / редактирования задачи в интерфейсе.
  • AddTaskInCron — добавить в расписание. Ответ будет, что задача добавлена в расписание + дата следующего запуска. Например, «Расписание успешно добавлено в задачу 18 Следущая дата запуска 06.04.2017 12:00»


5. Уведомления


Сделать уведомления о задаче:

Я создала задачу, повесив на пользователя А. Задача должна сработать через 30 минут.

1. У пользователя сразу же появляется уведомлялка — ну как Gmail Checker, типа «на вас повесили задачу».
2. За 5 минут до начала задачи приходит вторая уведомлялка «Через 5 минут будет задача такая-то».
3. Ну и ровно в срок уведомлялка.
4. Когда открываешь уведомлялку (это сейчас в блоке “0 заданий / 1 задание…”) должна быть кнопка “сделал”, только тогда она пропадает из расписания. Плюс кнопка «продолбал» :) Нажатия на эти кнопки логируются: “Пользователь А подтвердил, что сделал задачу (название задачи) / Пользователь А продолбал задачу (название задачи)”

Выполненные и пропущенные задачи должна быть возможность просмотреть --- Поля из самой задачи + кто и во сколько ее создал и когда она была в расписании исходно. И когда попала в "выполненные" / продолбанные.

На вкладке http://users.bugred.ru/tasks/my/completes колонки "Создана" и "Выполнена" (в итоге сделали одну, «время» выполнения)
На вкладке http://users.bugred.ru/tasks/my/fails такая же колонка со временем.

********************************************************************
Сценарий (применялся, когда разработчик запутался в моих требованиях)

У тебя есть список задач:

1. Одноразовые (свозить кота на кастрацию)
2. Многоразовые (поливать цветы 2 раза в неделю)

В списке задач ты видишь актуальные. Кастрацию пока не сделал? Висит и мозолит глаза без даты. Как тока свозил или решил "пущай живет", то есть нажал на кнопку — задача больше не мельтешит перед глазами.

Многоразовые — ты вчера не полил цветок, нажал "продолбал", увидел следующую дату поливки по крону)

Все твои телодвижения логируются: изменил задачу, поставил в расписание, отклонил, сделал
а менеджер может за тобой следить)

********************************************************************

Ты видишь только свои, менеджер видит все. Он может их фильтровать по конкретному человеку и выставлять диапазон проверки. 


6. Менеджер


Отдельная роль, настраивается для любой учетки в админке. В бекап вшит один менеджер: manager@mail.ru / 1.

Менеджер может наблюдать за сотрудниками:

— Он видит все оповещения + может их сортировать и фильтровать;
— Он видит все текущие задачи, все продолбанные и все выполненные;
— Он может отредактировать любую задачу;


Итого


Users — система с кучей самого разного функционала. Вы можете:

— Исследовать приложение в поисках JS-ошибок, потренироваться использовать консоль разработчика.
— Изучить, как работают вызовы SOAP и REST.
— Показывать своим джуниорам, «как что тестировать», в том числе и тестирование документации. Ну а что, вот же она, чуть выше ツ


PS — система используется в моих курсах:


Заходите, узнаете много нового про эту систему! Wink ;)

112 комментариев:

  1. Спасибо Вам за предоставленную возможность познакомиться на практике c SOAP и REST!)

    ОтветитьУдалить
  2. Спасибо большое за сервис. Скажите, getUser через POST запрос было сделано, чтобы кто-то завел улучшение? (просто хотел бы своим ученика ваш сервис предоставить как пример, а с теорией такой подход чуть расходится)

    ОтветитьУдалить
    Ответы
    1. Все сделано через POST, потому что фриланс разработчик отказался делать мне PUT, DELETE и прочее )

      Удалить
  3. Огромное вам спасибо! Крайне полезный сервис для отправки SOAP/REST запросов

    ОтветитьУдалить
  4. При переходе на ссылку http://users.bugred.ru почему-то выдает белый экран c "not install system please click here install right now", при нажатии на линк возвращает 500 (Internal Server Error). Помогите разобраться, очень хочется потренироваться на данном сервисе! :)

    P.S Я залогинен.

    ОтветитьУдалить
  5. Добрый день. Как понять, что поле в запросе является обязательным? Я не вижу никаких атрибутов в xml-файлике, указывающих на то, что поле обязательное. Например, в требованиях для doRegister есть 3 обязательных поля: email, name, password.
    При попытке отправить запрос без какого-либо из этих полей, я получу ошибку.

    Спасибо.

    ОтветитьУдалить
    Ответы
    1. 1. Прочитать документацию.
      2. Понять методом тыка
      Прописывать ли это в xml — желание разработчика

      Удалить
  6. Здравствуйте Ольга, спасибо вам за такой прекрасный тестовый проект_api)
    Подскажите, через postman возможно удалить компанию, через UI я смог это сделать с помощью админа, но в доке по API, такого раздела как удалить компанию нету.

    Заранее Спасибо!

    ОтветитьУдалить
    Ответы
    1. Добрый день. Нет, такой возможности нет

      Удалить
    2. Такой вопрос
      при запросе magicsearch есть параметр "include"
      в доке сказано, что может принимать массив
      "include":["COMPANY","TASK"]

      но при отправки запроса бэк возвращает ошибку с кодом 459
      что include может принимать только значения: ALL, USER, COMPANY, TASK, WHY"

      Тут 2 варианта или я что-то не то делаю или это баг)

      Заранее Спасибо)

      Удалить
    3. Вы что-то делаете не так, массивы в параметре замечательно работают

      Удалить
    4. Вот в таком формате у меня ищет
      "include":[ "COMPANY", "sport_tester", "TASK", "1437" ]

      В любом случае спасибо вам)

      Удалить
  7. При тестировании метода сreatecompany через soap ui как указать значение в поле company_users? спасибо

    ОтветитьУдалить
    Ответы
    1. кажется нашла ответ в конфлюэнс. Спасибо!

      Удалить
    2. Для начала прочитать документацию — https://testbase.atlassian.net/wiki/spaces/USERS/pages/913014803/CreateCompany

      Удалить
    3. Да, в конфлюенсе более полная версия документации) Этот пост писался на первую версию Users, тут про апи ничего нет

      Удалить
  8. Спасибо вам огромное Ольга. Несколько дней назад я пролистывал блог - наткнулся. Подумал "Ну мне же не нужно пока с API взаимодействовать". Сегодня получаю от руководства задачу на тестирование API.

    : )))

    ОтветитьУдалить
    Ответы
    1. Не за что)) Тренируйтесь на здоровье! И на youtube смотрите обучалки)) Например, https://www.youtube.com/watch?v=QYg5z6EGOk4&lc=z223f1oxjrqqwnpcdacdp43bpnzsnnxfqgpttjiffjlw03c010c.1560492909697622

      Удалить
  9. Ольга, большое Вам спасибо за такой рабочий "тренажер!" :)

    Удачи Вам!

    ОтветитьУдалить
  10. Здравствуйте,
    практикуем один метод DeleteUser
    именно не можем удалить пользователя из системы kim@epamtest.com
    Выходит ошибка что пользователь с таким емейл не существует, хотя в системе присутствует два пользователя с таким емейл.

    ОтветитьУдалить
    Ответы
    1. В системе есть баги, как специально закопанные, так и нет. Локализуйте))
      (исправляться баг не будет)

      Удалить
  11. Здравствуйте, при тестировании REST API в программе POSTMAN, возникает ошибка. В URL нет данных. {"type":"error","message":"\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 email \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c!"}. Там вот это.

    ОтветитьУдалить
    Ответы
    1. Ничего не поняла, в каком урл должны быть данные? что именно вызываете?

      Удалить
    2. http://users.bugred.ru/tasks/rest/doregister вот ссылка. Почему то у меня там {"type":"error","message":"\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 email \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c!"} вот это выходит. И спасибо вам за такой качественный обзор.

      Удалить
    3. Используйте любой декодер, чтобы понять, о чем ошибка

      Удалить
  12. Благодарю вас!Теперь это для меня не такой туманный Альбион))

    ОтветитьУдалить
  13. Здравствуйте, Ольга! Столкнулся с проблемой, что скачанная SoapUI-x64-5.6.0 не хочет запускаться. Может попробовать скачать другую версию? Но из Open source предлагают только эту версию. Подскажите, пожалуйста, что делать! Спасибо!

    ОтветитьУдалить
    Ответы
    1. Добрый день) Попробуйте установить на другом компьютере, та же ошибка будет? Если да, то, видимо, ждать исправления бага)

      Удалить
    2. Добрый день!) К сожалению, нет возможности установить на другом компьютере(( Тип моей системы: 32-разрядная операционная система, процессор х64. Возможно в этом проблема? Я скачивал ту версию, которую предлагали на сайте Open Source - 64-битную версию. Где я могу скачать 32-битную версию? На сайте я не нашёл. Спасибо заранее!

      Удалить
    3. Ну если у вас х32 система, то логично, что х64 туда не встанет)) Ищите 32-битную версию. Где именно, я не знаю, надо гуглить)

      Удалить
  14. Здравствуйте, пытаюсь через REST выполнить doregister как через форму, так через json, приходит ответ 400 Bad Request и пользователь не создается, в чем может быть проблема?

    ОтветитьУдалить
    Ответы
    1. В том, что у вас Bad Request, очевидно)) Вот рекомендую https://okiseleva.blogspot.com/2020/01/blog-post_47.html, ну или хотя бы посмотрите в ютубе как вызвать запрос и вызовите точно также

      Удалить
    2. То же самое. Всё по инструкции, ссылка, все параметры как в примере, но в ответе Bad Request

      Удалить
    3. Решение: Postman при создании создании запроса автоматически создаёт заголовки. По инструкции заголовков быть не должно, поэтому я снимал галки, но когда я их вернул на место, запрос прошёл успешно.

      Удалить
  15. Здравствуйте, а подскажите, в Постмене метод doRegister у меня не срабатывает, пишет: {
    "type": "error",
    "message": "Метод не существует.Доступные методы для вызова deletetask,addtaskincron,updatetask,createtask,deleteuser,updateUseronefield,fullupdateuser,dologin,getuser,doregister"
    }
    А в SoaoUi работает.
    В чем может быть проблема?

    ОтветитьУдалить
    Ответы
    1. В том, что вы вызываете несуществующий метод. В сообщении об ошибке написано, какие методы можно вызывать

      Удалить
  16. Добрый день, Ольга! При отправлении запроса в Postman'e, как Вы рассказывали в лекции Тема 1 Заголовки сообщений (Headers) на 51-й минуте, возвращается ответ Status: 503 Service Unavailable, вместо того, что должно быть: 200 ок. Подскажите, пожалуйста, в чём проблема? Спасибо!

    ОтветитьУдалить
    Ответы
    1. Вы учились у меня на курсе и сейчас решили пересмотреть лекции? А как тогда раньше у вас работало?)

      Удалить
  17. В дополнение к моему вопросу от 09.08.2020 в 15:15, как можно показать вам ответ Postmana? Пітался скопировать его, но почему то здесь не хочет публиковать ответ.

    ОтветитьУдалить
  18. Добрый день, я ковыряю апи компании.
    JSON ответ выглядит так:
    {
    "success": true,
    "data": [
    {
    "Description": "Документи",
    "Ref": "Documents"
    },
    {
    "Description": "Грошовий переказ",
    "Ref": "Money"
    }
    ],
    "errors": [],
    "warnings": [],
    "info": [],
    "messageCodes": [],
    "errorCodes": [],
    "warningCodes": [],
    "infoCodes": []
    }
    Я хочу в цикле пройти по значениям, делаю так:for (i=0; i<2; i++){
    pm.test("Check if field corresponds to a specific value " + jsonData.data[i].Description, function(){
    pm.expect(jsonData.data[i].Description).to.equal(jsonData.data[i].Description);
    });
    }
    Хочу в цикле пройтись по значениям property ("Description": "Документи" и"Ref").
    Смог только по отдельное значение проверить:
    var jsonData = pm.response.json();
    pm.test("Названия поля правильное", function(){
    pm.expect(jsonData.data[0]).to.have.property("Description");
    });
    А как это можно сделать в цикле?

    ОтветитьУдалить
    Ответы
    1. Ваше тест внутри цикла бесполезный, вы сравниваете что 1=1, он всегда даст true. Но в целом структура цикла верная, копайте дальше)

      Удалить
  19. А как рпвильно надо указывать значение в скобках to.equal(jsonData.data[i].Description), что бы вручную не вносить его значение, а подставить как переменную?

    ОтветитьУдалить
    Ответы
    1. По-другому попробую объяснить. В запросе передаю:

      {
      "email": "gord@gmail.com",
      "name": " Gordey99999",
      "password": "1"
      }
      А в тесте хочу сравнить с переданным значением:
      var jsonData = pm.response.json();

      pm.test("Правильный найм" + jsonData.name, function(){
      pm.expect(jsonData.name).to.equal("Gordey99999");
      });
      А как сравнить не таким образом to.equal("Gordey99999"), а достать переменную найм с боди запроса? как ее можно достать?


      Удалить
    2. Вы это и так делаете, она у вас в переменной X лежит.

      expect(X).to.eql.(Y)

      Удалить
    3. А почему вы пишете "Ваше тест внутри цикла бесполезный, вы сравниваете что 1=1, он всегда даст true.", а елси значения в реквесте не совпадут с респонсом это будет правильная запись?

      Удалить
    4. Потому что у вас X = Y. Вместо них тогда можно написать expect(1).to.eql.(1), тест будет давать ровно такой же результат. И оставаться бесполезным, потому что что он проверяет? Что переменная равна сама себе?

      Удалить
    5. Пардон, что надоедаю. А как тогда правильно записать эту запись, что бы не писать to.equal("Gordey99999"), а подставить переменную name с реквеста, (Например в реквесте name = "Gordey")?

      Удалить
  20. Добрый день!
    Спасибо за сервис.
    Подскажите, а email, введенный при регистрации можно изменять?

    ОтветитьУдалить
    Ответы
    1. Добрый) А что мешает вам самому это проверить, через ГУИ и АПИ?)

      Удалить
  21. Добрый день) подскажите пожалуйста:
    не удается создать компанию : (REST) при указании значения company_users: ["mail1", "mail2"] -собственно, как пример ввода значений из confluence, пишет ошибку: "company_users не указаны сотрудники". В чем может быть ошибка?

    ОтветитьУдалить
    Ответы
    1. А эти сотрудники точно существуют?

      Удалить
    2. Такая же ситуация
      Подскажите, пожалуйста, Анна, у вас получилось?

      Удалить
  22. Ольга, здравствуйте!
    Не совсем понятно, что писать в параметрах companies и tasks при использовании метода CreateUser через SOAP UI. Пробовала писать в таком виде (если правильно поняла из ТЗ): [71,72] или [1]. В итоге юзер создается, но задач и компаний у него нет. Пробовала вводить цифры без квадратных скобок или названия вместо цифр (как существующие в системе, так и нет) - итог одинаковый. Подскажите, пожалуйста, что я не так делаю?

    ОтветитьУдалить
    Ответы
    1. Это проблема именно в SOAP UI, через постман тот же запрос работает?

      Удалить
    2. Через постман получилось. К сожалению, для CreateUser нет примера SOAP запроса. Пробовала по аналогии с массивом в CreateCompany, но не прокатило. Видимо, без углубления в XML не получится. Тут простой копипастой не обойтись, по ходу..

      Удалить
    3. Спасибо большое! Почему-то никак не могла нагуглить про массивы в XML, а у вас, оказывается, есть прям статья по Users нужная. Буду разбираться)

      Удалить
  23. И вдогонку вопрос. А где смотреть эти ID - компаний и тасков?

    ОтветитьУдалить
    Ответы
    1. Да как и всегда (если доступа к базе нет), варианта 2 — в графическом интерфейсе или через какие-то апи-методы.

      Удалить
    2. Делаю свои первые шаги в тестировании веб-сервисов. Потому и написала, что в графическом интерфейсе не нашла. Ну и исходя из документации, так и не понимаю, какие апи методы из представленных в ней надо использовать, чтобы узнать эти айдишники.

      Удалить
    3. Посмотрите на УРЛ компании в интерфейсе)

      Удалить
    4. Ах вот оно что! Спасибо))

      Удалить
  24. Доброе утро,
    подскажите пожалуйста, как узнать айди пользователя созданного через POST, чтобы потом проверить создание пользователя через GET запрос. POST ответ не содердит айди созданного пользователя
    спасибо

    ОтветитьУдалить
  25. Пример 1. Создание нового пользователя
    Запрос:

    {
    "email": "milli@mail.ru",
    "name": " Машенька",
    "password": "1"
    }

    это POST запрос

    я поучаю на этот пост запрос ответ
    {
    "name": " Машенька",
    "avatar": "http://users.bugred.ru//tmp/default_avatar.jpg",
    "password": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a",
    "birthday": 0,
    "email": "milli@mail.ru",
    "gender": "",
    "date_start": 0,
    "hobby": ""
    }

    но для понимания того что пользователь дествительно создался мало, хочется добавить проверку и вытянуть только что созданного юзера с помощью GET, но для этого нужен айди юзера и пока без сайта никак
    или все таки можно как-то получить только что созданого юзера с помощью GET?

    ОтветитьУдалить
    Ответы
    1. И я все еще не знаю, о каком методе речь — «пойди по описанию тела угадай, что за метод», так это не работает, учитесь вводить в контекст )

      Удалить
  26. о каком методе вы все время говорите?
    есть возмощность получить в POST ответе айди?

    ОтветитьУдалить
    Ответы
    1. POST — это не метод, это тип метода.
      Погуглите, что такое типы методов. И посмотрите, что еще бывает при вызове метода, что надо.

      Потому что пока это:
      — Почему в магазине Москвы нет платьюшка А?
      — В каком магазине?
      — Ну в Москве же
      — Их там много
      — Так у меня есть возможность в Москве купить платьюшко?

      Ответ будет "без понятия, зависит от магазина"

      Удалить
    2. REST API с использованием JSON
      спасибо за ответы)

      Удалить
    3. Теперь это даже не Москва, а Россия :)
      А я спрашивала, какой конкретно магазин (в данном случае — метод)

      Удалить
    4. ок, я не могу найти методы и не понимаю о чем вы говорите
      напишите какие методы юзаются на вашем сайте
      спасибо

      Удалить
    5. или просто напишите ответ, что без доступа к базе данных никак) а его получить нельзя)

      Удалить
    6. или теперь это стал весь мир)

      Удалить
    7. Какие в юзерс есть методы — это вы можете найти самостоятельно, как в конфлюенсе, так и в этом посте, попробуйте это сделать) Вы же явно хотите разобраться в REST, вот вам и домашнее задание.

      Последнее сообщение не поняла, что без доступа к базе данных никак?

      Удалить
  27. Добрый день.
    Спасибо за Users.
    Я новый человек в вопросе REST API. Но я пробую разобраться в разнице между POST и PUT на примере UpdateTask REST метода в Users.
    Я пробую выполнить следующий запрос и для POST, и для PUT в Postman
    http://users.bugred.ru/tasks/rest/UpdateTask?id_task=84&email_owner=kovalencoalena@ukr.net&email_assign=kovalencoalena@ukr.net&task_title=testing 2&task_description=test, то отображается одинаковый ответ "Задача успешно изменена".
    Я ожидала, что метод должен отработать только или с POST, или только с PUT.
    Я смотрела следующие статьи https://software-testing.ru/library/testing/testing-automation/2969-testing-put-requests, https://software-testing.ru/library/testing/testing-automation/2963-testing-post-requests (рекомендованы на http://testbase.ru/?post_type=skill&p=1313).

    Если можно, то по рекомендуйте ещё бесплатную дополнительную литературу по этому вопросу.
    Заранее спасибо

    ОтветитьУдалить
    Ответы
    1. Всю полезную литературу я сохраняю сразу на testbase, так что ничего нового порекомендовать не могу.
      Работать будет так, как сделает разработчик, значит он сделал независимость от типа метода

      Удалить
  28. Добрый день! Не открывается https://testbase.atlassian.net/wiki/spaces/USERS/pages/592674928/doRegister - нет доступа. Хотя недавно работало. Подскажите, как получить доступ?

    ОтветитьУдалить
  29. Поддерживаю желание получить доступ к https://testbase.atlassian.net/wiki/spaces/USERS/pages/592674928/doRegister

    Может можно как-нить в др. формате или ресурсе выложить )

    ОтветитьУдалить
  30. Добрый день. Подскажите, пожалуйста, можно ли просто так получить доступ к проекту в конфлюэнсе?

    ОтветитьУдалить
  31. Вопрос по созданию пользователя с помощью REST.
    Если создавать ползователя через Postman, то потом можно запросом tasks/rest/getuser получить юзера как в Постмане, так и кодом через автотест, а так же можно увидель пользователя на UI.
    Но если создать пользователя кодом tasks/rest/doregister, то при отправке запроса tasks/rest/getuser из постмана, и из кода, прилетает ответ, что такой юзер не найден, но на UI такой юзер есть :\
    Это особенность системы?

    ОтветитьУдалить
    Ответы
    1. Я не поняла вашу локализацию — через постман это и есть "кодом tasks/rest/doregister". Но вангую, что вы просто попали на один баг в системе — и тогда вы его неправильно локализовали :)

      Удалить
    2. Здраствуйте как получить, ваше разрешение админа на доступ к функции создать, а то уже пару раз сплошной фейл).

      Удалить
  32. У меня российский IP, а почти все картинки на сайте не отображаются. С VPN - норм. Хотя сам блог без VPN открывается.
    Возможно, только для моих операторов связи (Ростелеком и МТС), но проблема с ресурсами вида 1.bp.blogspot.com, где цифра может быть другой.

    Вот на главной картинка тянется с blogger.googleusercontent.com и отображается.

    Благодарю за статью )

    ОтветитьУдалить
  33. Подскажите, почему при сгенерированных рандомных email, name, password удается создать юзера в системе, но под этими кредами залогиниться не удается?
    pm.environment.set("email", pm.environment.replaceIn("{{$randomEmail}}"));
    pm.environment.set("name", pm.environment.replaceIn("{{$randomFirstName}}"));
    pm.environment.set("password", pm.environment.replaceIn("{{$randomPassword}}"));

    ОтветитьУдалить
    Ответы
    1. А без этих переменных войти смогли? Локализуйте проблему, и помните, что в системе МОГУТ быть баги, на то она и система для тестировщиков)

      Удалить
  34. Здравствуйте! Не удается попасть в документацию, просит доступ через аккаунт

    ОтветитьУдалить