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

[🚀 Request] Make vscode-extension-tester architecture more flexible #886

Open
mlorinc opened this issue Jul 30, 2023 · 0 comments
Open
Labels
enhancement New feature or request
Milestone

Comments

@mlorinc
Copy link
Contributor

mlorinc commented Jul 30, 2023

Thorough my years working on vscode-extension-tester I have stumbled upon multiple requests about browser and test framework compatibility. Unfortunately, in current state there is very small room for improvements as testing pipeline is fixed and inflexible.

The problem could be possible fixed by following steps below:

  1. VSBrowser is mostly OK, just allow users to use browser, so they can test browser VS Code instances + allow them to load custom locators (so they can define own locators for their page objects, e.g. custom WebViews). Create abstract class of Browser, so you can utilise OOP.
  2. Create LocatorLoader util, so other people can use custom locators in their tests. I have implemented compatible solution in past.
  3. TestRunner needs a lot of work. Pass only Browser instance and test arguments. You can even make abstract class of TestRunner (do not use Mocha in abstract implementation, create specific MochaTestRunner), so it can be used further in ExTester. createShortcut method should not even be there.
  4. ExTester should be used as orchestration tools which will be given instances of Browser and TestRunner.

The whole idea is to enable users to build their own pipeline and keep current ExTester/CLI concept. Therefore, users could still use tester as they do now. Users who do not want to use Mocha or native VS Code would be able to create custom runners and reuse page objects and locators. Although, this proposal will require major changes, time investment and modifications to guidelines mentioned above.

@mlorinc mlorinc added enhancement New feature or request new-issue New issue which was not discussed yet labels Jul 30, 2023
@djelinek djelinek removed the new-issue New issue which was not discussed yet label Aug 22, 2023
@djelinek djelinek changed the title [Proposal] Make vscode-extension-tester pipeline flexible [🚀 Request] Make vscode-extension-tester pipeline flexible Oct 17, 2023
@djelinek djelinek added this to the BACKLOG milestone Oct 17, 2023
@djelinek djelinek changed the title [🚀 Request] Make vscode-extension-tester pipeline flexible [🚀 Request] Make vscode-extension-tester architecture more flexible Nov 21, 2023
@djelinek djelinek added this to ExTester Feb 5, 2024
@djelinek djelinek moved this from New to Backlog in ExTester Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Backlog
Development

No branches or pull requests

2 participants