2017-07-10 1 views
0

J'arrive à l'automatisation de test de protractor (tapuscrit) de Java. Comme je vois beaucoup de gens dans le monde tapuscrit aiment définir les localisateurs dans le constructeur, par exemple:Quels sont les avantages et les inconvénients de définir les localisateurs dans le constructeur ou à l'extérieur de tapuscrit?

export default class SignInPage extends BasePage { 
    private readonly _usernameInputLocator: By; 
    private readonly _passwordInputLocator: By; 

    constructor() { 
    super(); 
    this._usernameInputLocator = by.name('username'); 
    this._passwordInputLocator = by.name('password'); 
    } 

} 

au lieu de mon point de vue commun, par exemple:

export default class SignInPage extends BasePage { 

    private readonly _usernameInputLocator: By = by.name('username'); 
    private readonly _passwordInputLocator: By = by.name('password'); 

} 

Pourriez-vous être si gentil, à dites-moi quelles différences dans ces deux approches.

Répondre

0

Il n'y a pas de grande différence. La première version vous permet d'utiliser des paramètres constructeur ou de référencer d'autres attributs dans vos initialisers; le second est plus court et plus net mais en interne le code vient d'être hissé à l'intérieur du constructeur, donc cela ne fait aucune différence.

Le javascript généré est le même dans les deux cas sauf que le second avec le constructeur généré automatiquement teste l'existence d'un super constructeur avant de l'appeler.

+0

merci de répondre. Je pense que tu as raison. – Oleksii