Size: a a a

testing_in_python

2021 October 13

ВП

Владислав Петров... in testing_in_python
Переслано от Владислав Петров...
а ролей может быть около 20-ти
источник

ВП

Владислав Петров... in testing_in_python
Вот эту ☝️
источник

ВП

Владислав Петров... in testing_in_python
Думал запусти тесты на смену роли отдельной задачей
источник

А

Алексей in testing_in_python
меняй роль перед тестом на нужную, не?
источник

MR

Merg Rebas in testing_in_python
Сделай больше юзеров или это проблема?
источник

ВП

Владислав Петров... in testing_in_python
Так тесты в параллели её во время другого теста поменяют опять
источник

ВП

Владислав Петров... in testing_in_python
Писал выше что юзеров наделать нет возможности
источник

А

Алексей in testing_in_python
не паралель тесты, которые завязаны на роль, пусть они в одном потоке выполняются (если уж никак нельзя юзеров заводить)
источник

ВП

Владислав Петров... in testing_in_python
Вот я это и хотел сделать! Но не знаю как можно всё параллелить, а именно эти тесты не параллелить
источник

СС

Сказочный Сникерс... in testing_in_python
я недавно кому то помогал решить как раз подобную хрень.
источник

СС

Сказочный Сникерс... in testing_in_python
https://pastebin.com/YKH5xgit
вот пример перераспределения тестов


import pytest


def test_same_worker1():
   pass


def test_same_worker2():
   pass


def test_same_worker3():
   pass


def test1():
   pass


def test2():
   pass


def test3():
   pass


@pytest.mark.parametrize('i', list(range(10)))
def test_param(i):
   pass


при таких тестах код выше поместит все тесты которые содержат same_worker на 1 процесс, на котором они будут всегда выполняться строго последовательно

#xdist
источник

А

Алексей in testing_in_python
--dist=loadscope или --dist=loadfile
источник

СС

Сказочный Сникерс... in testing_in_python
самое простое решение, но сильно завязаны на размеры файлов и тестов в них
источник

СС

Сказочный Сникерс... in testing_in_python
я выше добился примерно того же только per test
источник

А

Алексей in testing_in_python
:) ну тут от группировки тестов у чела зависит
источник

OC

Oleg Chaplashkin in testing_in_python
ребят, многошаговые сценарии (шагов от 2 до 10) нормально ли прописывать как-то:

def test_some_scenario(..):
   res = step_1() #bool
   step_2(res.some_param) #bool
   step_3() #bool
   return step_4() #bool


Смущает процедурная портянка. С другой стороны, строить дополнительнй паттерн "Стратегия" - кажется оверхедом. Вводить дополнительный слой чтобы реализовать chains, вроде тоже (типа step_1().step_2() ...) - не нравится неявная передача и хранений состояний.

p.s. не использую pytest,  тут у меня немного другая специфика

Вопрос простой: куда посмотреть на многошаговые степы? (в идеале, на организацию тест-класса)
источник

OC

Oleg Chaplashkin in testing_in_python
По идее, это решается портянкой фикстур и их иерархией 🤔
источник
2021 October 14

AD

Ann Doo in testing_in_python
источник

А

Андрей in testing_in_python
Подскажите, плз, не могу сообразить по поводу POM. Есть класс базовой страницы, который описывает общее поведение на всех страницах, переопределяет метод клика и прочее... Есть набор пейджей описанных отдельными файлами, которые унаследованы от базовой. А как к этому всему относятся такие элементы как сайдбар, навбар.. это часть базовой страницы? должны быть описаны в классе basePage? или как?
источник

EB

Evgenii B in testing_in_python
если эти элементы присутствуют на всех страницах, есть смысл запихать эту логику в какой-то из классов, от которого оно наследуется. При условии, конечно, что логика обращения на других страницах к этим элементам не меняется. а то вдруг там какой хитромудрый навбар который не навбар вовсе а контекстное меню которое контент / структуру свою меняет от странице к странице
источник