microsoft / microsoft/playwright-java
[Feature]: Java / JUnit - add possibility to configure default timeout
Personne n'a encore pris cette issue.
- Langage dominant
- Java
- Étoiles
- 1.6k
- Forks
- 298
- Merge moyen
- 3 j 2 h
- PR mergées (30 j)
- 14
Description
🚀 Feature Request
Status Quo
JUnit support (https://playwright.dev/java/docs/junit) allows to inject a pre-configured instances of Page, BrowserContext, etc. into a test method. Users are able to configure various settings, but not the default timeout on the BrowserContext. As a result, users must call context.setDefaultTimeout or page.setTimout on each injected instance, which is both error prone and increases the amount of ceremonies inside the test code, distracting from its business goals.
Improvement Suggestion
Extend com.microsoft.playwright.junit.Options or com.microsoft.playwright.Browser.NewContextOptions with possibility to set the default timeout. The latter would probably be a better choice, as it would also cover non-JUnit environments, where NewContextOptions could be centrally populated.
Example
In the test class - same as today:
@UsePlaywright(MyOptions.class)
class MyTest {
...
}
In the OptionsFactory - new possibility to set the default timeout:
class MyOptions extends OptionsFactory {
@Override
public Options getOptions() {
return new Options()
....
.setContextOptions(
new Browser.NewContextOptions()
....
.setDefaultTimeout(10_000)
);
}
Motivation
Provide users with possibility to centrally manage all defaults for the created BrowserContext / Page.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par l’API de prise en charge de JUnit, en particulier com.microsoft.playwright.junit.Options et OptionsFactory, puis examinez Browser.NewContextOptions. Déterminez quelle option doit posséder le délai d’expiration par défaut et comment celui-ci atteint les instances injectées de BrowserContext et Page. La tâche est terminée lorsque les utilisateurs peuvent configurer le délai d’expiration de manière centralisée via le modèle OptionsFactory présenté, y compris en dehors de JUnit, là où NewContextOptions est utilisé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- testing-qa
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100