Size: a a a

QA — Автоматизация

2020 February 26

V

Vel in QA — Автоматизация
Artem Bondar
очень даже нормальная практика. Не парься )
понял, спасибо
источник

AB

Artem Bondar in QA — Автоматизация
Sergey Sergey
Коллеги, подскажите, почему feign не прикладывает к DELETE запросу Headers?

@RequestLine("DELETE /consumers/{id}")

    @Headers({"Content-type: application/json", "Authorization: Bearer {token}"})

    Response deleteConsumerById(@Param("token") String token, @Param("id") String id);

такой вот запрос, а в ответ:

{"statusCode":415,"error":"{\"timestamp\":\"2020-02-26T11:19:50.690Z\",\"status\":415,\"error\":\"Unsupported Media Type\",\"message\":\"Content type '' not supported\",\"path\":\"/consumers/1\"}"}
судя по ошибке, товй контент не Applicstion/json
источник

AB

Artem Bondar in QA — Автоматизация
проверь правильность хедеров в запросе
источник

M

MAMED in QA — Автоматизация
Artem Bondar
тогда стор прог тебе не нужен.
В случае базы данных с динамическими данными? Как это все завязано с API? Есть на этот счет мысли?
источник

AB

Artem Bondar in QA — Автоматизация
MAMED
В случае базы данных с динамическими данными? Как это все завязано с API? Есть на этот счет мысли?
а вот так. Ты тестируешь интерфейс API. Как он взаимодействует с базой данных тебя как тестировщика волновать не должно. У тебя есть требования к API, какие операции он должен выполнять и какой результат возвращать. Вот и протестируй это.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Vel
не понял ))
ничего не надо инициализировать по факту. То есть просто пустой конструктор new LoginPage().doSmth();

nop/noop - типа "no operation"
источник

AV

Alexei Vinogradov in QA — Автоматизация
соответственно, если ничего инициализировать не надо, то и наследоваться не зачем
источник

S

Sergey Sergey in QA — Автоматизация
Artem Bondar
проверь правильность хедеров в запросе
в логе хедер этот видно, а вот в респонсе говорит, что его нет
источник

V

Vel in QA — Автоматизация
Alexei Vinogradov
ничего не надо инициализировать по факту. То есть просто пустой конструктор new LoginPage().doSmth();

nop/noop - типа "no operation"
так я так и делаю в кажом тесте, типа
new Form()
       .selectM(m)
       .selectE(e);
new Navigation().scrollUpTill(blabla);
new Asserts().shouldBeExactTexts(“bla”);

Но получается что по сути я в кажом тесте делаю эти же самые newPage()
Вот и возник вопрос, может их нужно засунуть в бефор тест или  в testBase?
источник

M

Maksim in QA — Автоматизация
Vel
так я так и делаю в кажом тесте, типа
new Form()
       .selectM(m)
       .selectE(e);
new Navigation().scrollUpTill(blabla);
new Asserts().shouldBeExactTexts(“bla”);

Но получается что по сути я в кажом тесте делаю эти же самые newPage()
Вот и возник вопрос, может их нужно засунуть в бефор тест или  в testBase?
ты наследуешься?
источник

V

Vel in QA — Автоматизация
Maksim
ты наследуешься?
от testBase да
источник

V

Vel in QA — Автоматизация
в нем у меня просто логин лежит в @BeforeAll и всякие конфиги
источник

V

Vel in QA — Автоматизация
нет никаких страниц с инициализацией
источник

N

Nikita in QA — Автоматизация
Вам на page object мягко намекают :)
источник

M

Maksim in QA — Автоматизация
Base getBase(){
return new Base(driver);
}
login(){
return getBase().navigetToNextPage();
}
источник

M

Maksim in QA — Автоматизация
Nikita
Вам на page object мягко намекают :)
очень даже не мягко)
источник

AV

Alexei Vinogradov in QA — Автоматизация
Vel
так я так и делаю в кажом тесте, типа
new Form()
       .selectM(m)
       .selectE(e);
new Navigation().scrollUpTill(blabla);
new Asserts().shouldBeExactTexts(“bla”);

Но получается что по сути я в кажом тесте делаю эти же самые newPage()
Вот и возник вопрос, может их нужно засунуть в бефор тест или  в testBase?
Если шаги повторяются - то
1) очевидно редундантное тестирование
2) если повторения не удаётся избежать - создать класс SomeSteps и переместить повторяющиеся шаги туда в метод. Затем вызывать этот метод из тестов.
источник

AV

Alexei Vinogradov in QA — Автоматизация
@before используются для семантического выделения подготовительных методов
источник

V

Vel in QA — Автоматизация
Alexei Vinogradov
Если шаги повторяются - то
1) очевидно редундантное тестирование
2) если повторения не удаётся избежать - создать класс SomeSteps и переместить повторяющиеся шаги туда в метод. Затем вызывать этот метод из тестов.
да не шаги повторяются а повторяется в кажом тесте new Page1(), new Page2();
источник

AV

Alexei Vinogradov in QA — Автоматизация
Vel
да не шаги повторяются а повторяется в кажом тесте new Page1(), new Page2();
А в чем тут проблема?
источник