Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Вытащить наружу методы по работе с браузером #959

Open
1 task
dlukanin opened this issue Jun 26, 2024 · 4 comments
Open
1 task
Labels

Comments

@dlukanin
Copy link

Contribution

Describe the user story

Привет!

Сделаю референс к playwright. Он может использоваться не просто как высокоуровневый test runner, т.к имеет более низкоуровневое api для инстанцирования браузера, создания контекста, страницы, манипулирования контентом страницы, etc.

https://playwright.dev/docs/api/class-browsertype
https://playwright.dev/docs/api/class-browsercontext
https://playwright.dev/docs/api/class-page

Это позволяет использовать playwright в не совсем типичных кейсах, когда, например, нужно инстанцировать браузер, подключить его по cdp к удаленной сессии, монтировать в него html/js/css и далее делать различные ассерты.

Хотелось бы иметь схожее api у testplane.

Describe the solution you'd like

В целом api, схожее с тем, что я описал выше, вполне подойдет.

Describe the drawbacks of your solution

No response

Describe alternatives you've considered

No response

@KuznetsovRoman
Copy link
Member

Привет!

Хотелось бы сначала уточнить: какие у этого юзкейсы? Для чего нужна такая возможность?

@dlukanin
Copy link
Author

Привет!

Хотелось бы сначала уточнить: какие у этого юзкейсы? Для чего нужна такая возможность?

Привет. Например это необходимо для того, чтобы протестировать поведение и представление компонентов. В jsdom получится протестировать только поведение. В полноценных е2е тестах сложно эмулировать большое число разных вводных для компонента.

@KuznetsovRoman
Copy link
Member

KuznetsovRoman commented Jun 26, 2024

Привет. Например это необходимо для того, чтобы протестировать поведение и представление компонентов.

Для компонентного тестирования у нас есть вот такое решение: https://github.com/gemini-testing/testplane/blob/master/docs/component-testing.md

Посмотреть примеры можно вот тут: https://github.com/gemini-testing/testplane/tree/master/examples/component-testing

Поддержка пока экспериментальная, но мы планируем довести это до stable.

@dlukanin
Copy link
Author

dlukanin commented Jun 26, 2024

Привет. Например это необходимо для того, чтобы протестировать поведение и представление компонентов.

Для компонентного тестирования у нас есть вот такое решение: https://github.com/gemini-testing/testplane/blob/master/docs/component-testing.md

Посмотреть примеры можно вот тут: https://github.com/gemini-testing/testplane/tree/master/examples/component-testing

Поддержка пока экспериментальная, но мы планируем довести это до stable.

Это окей. Но у нас уже есть решение (оно в целом чуть более сложное, чем обычное компонентное тестирование), которое работает и где в качестве средства поднятия браузера, коннекта по cdp и т.д. используется playwright. Была идея не плодить сущности и отказаться от playwright. Для этого нам бы хотелось видеть в testplane то, что я описал выше. Если это сложно/невозможно/непопулярный юзкейс, то в целом тоже ок.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants