Size: a a a

testing_in_python

2021 October 14

EB

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

EB

Evgenii B in testing_in_python
это может быть как бейс пейджа приложения с этими методами, так и отдельно заведенный класс навбара, который ты миксином добавляешь к другим PO
источник

А

Андрей in testing_in_python
навбар присутствует на 90% страниц
источник

EB

Evgenii B in testing_in_python
ну ты можешь запихать это в бейс, а для 10% других пейджей явно оверрайднуть методы и бросать исключение при попытке как-то вызвать их
raise NotSupportedException(f"This method is not allowed on this page")
источник

А

Андрей in testing_in_python
спасибо, толково
источник
2021 October 15

V

Vyacheslav in testing_in_python
Можешь от базовой унаследовать страницу прослойку на которой эти баннеры есть типо. auth_page
И те на которых есть наследовать от auth_page.
Класс будет содержать методы которые можно воротить с этими баннерами , исключений лучше избегать как мне кажется, и стараться по возможности закладывать правильную архитектуру
источник

EB

Evgenii B in testing_in_python
Чем плохи исключения?
источник

EB

Evgenii B in testing_in_python
Что такое «правильная архитектура»?
источник

V

Vyacheslav in testing_in_python
В данном случае исключение кажется плохим решением потому что находясь на странице  не понятно, можем ли мы на самом деле дергать этот метод или нет, меньше контроля ситуации что-ли
источник

V

Vyacheslav in testing_in_python
Я может конечно что-то неверно понял ,но мне кажется жить проще когда у тебя исключений меньше, и есть прописанные правила
источник

EB

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

EB

Evgenii B in testing_in_python
А ещё можно вспомнить о pythonic way и
It’s easier to ask for forgiveness than for permission , который прямым текстом идиоматически советует не стесняться исключений :)
источник

EB

Evgenii B in testing_in_python
Если 90% страниц содержат навбар, имхо логично унаследоваться, залочив в конкретных пейджах эту функциональность. Добавлять в классовую иерархию дополнительный класс звучит как  лишняя работа, проще тогда уж в каждую пейджу явным образом миксин-классом добавить класс с навбар логикой
источник

А

Артём in testing_in_python
при вставке данных в форму ввода маска не пропускает данные, хотя в коде прописаны валидные значения, есть варианты прописать в коде отключение маски или же ее обход ?
источник

EB

Evgenii B in testing_in_python
Попробуй вставлять посимвольно с с задержкой
источник

А

Артём in testing_in_python
не помогает, если кликнуть форму то бегунок появляется рандомно, то в конце поля, то в середине, решил эту проблему enterom, но всё равно данные не вставляются...
источник
2021 October 20

M

Martyn in testing_in_python
Привет!

На удалённом сервере запускается некий скрипт,
который БЕСКОНЕЧНО логирует результаты своей работы в stdout.
Нужно выловить в этом выводе строку "Processed".

Написал пока так:

import io
import fabric

ssh = fabric.Connection(...)
stream = io.StringIO()

ssh.run("./start.sh", out_stream=stream)

stream.seek(0)
for line in stream.readlines():
   if "Processed" in line:
       print("Success!")
       break

Всё хорошо, но ssh.run(...) блокирует дальнейшее выполнение (пока работает скрипт).
Беглое гугление привело к subprocess, asyncio и т. д...
Набросайте примерный шаблон как это оптимальней реализовать?
источник

ИС

Игорь Середа... in testing_in_python
Примерный шаблон — почитать (лениво посмотреть видосы), когда используются процессы, а когда многопоточность. Понять, какой из случаев у тебя (это совсем не трудно) и посмотреть документацию соответствующей библиотеки — в ней достаточно примеров. В хорошо заданном вопросе уже есть половина ответа, поэтому, нужную библиотеку ты без труда найдёшь.
источник

M

Martyn in testing_in_python
@igorsereda, спасибо, конечно за многабукав 😄Только после 4 часов "почитать" мне трудно понять, какой случай у меня :)
источник

IS

Idi Suda in testing_in_python
Как раз время для перерыва. Отвлекись от канплюхтера, быстрей поймёшь всё
источник