Comment passer selenium webdriver instance d'une autre classe

J'ai parcouru le site mais n'a pas trouvé la réponse que je cherche.

J'ai

  1. Superbase de classe ici, je viens de créer un objet d'une webdriver
  2. Baseclass - Dans cette classe-je étendre la Superbase classe, invoquer le pilote, et d'ouvrir l'URL.
  3. Clicklink classe - Dans cette classe, j'ai à nouveau d'étendre la Superbase de Classe, mais seulement pour trouver une exception de pointeur null. Je pense que je suis l'exception, comme le pilote de l'objet n'est pas initialisé.

Je ne suis qu'un débutant, et n'ont pas essayé le browserfactory et d'autres options, comme j'ai envie de commencer avec de simples flux.

Superclasse

    Public class Superclass
    {
public webdriver Driver;
}

Baseclass

public class Baseclass extends Superclass
{
setting capabilities and launching the browser
}

ClickLink

public class Clicklink extends Superclass
{
here I want to click on a link
driver.findelement(by.xpath("xpath").click());
//after this statement I get a null pointer exception
}

Pouvez-vous svp me guider ici? comment puis-je obtenir le même.

Merci beaucoup!

  • Montrez à vos méthodes s'il vous plaît.
  • Est "réglage de capacités et de lancer le navigateur" dans un @Before* méthode ou d'un constructeur?
  • Probablement par la réalisation d'un objet de la classe mère à l'enfant, puis l'invoque grâce à celle-ci. Super-classe sl = new super-classe(); sl.le pilote.findelement(par.xpath("xpath").cliquez sur());
  • Je ne peux pas poster les méthodes ici, que c'est à partir de la machine cliente, cependant, voici à quoi il ressemble Dans une Superclasse il n'y a pas de méthodes, juste un public pilote variable Dans Baseclass, j'ai 1 méthodes, qui ouvre le navigateur et vérifie le titre de la page. Dans Clicklink classe, j'ai 2 méthodes j'ai d'Abord créer un objet de Baseclass, puis dans Openbrowser méthode(première méthode dans Clicklink classe), j'ai appeler la méthode de Baseclass-- cela fonctionne bien, le problème est dans la 2ème méthode dans clickClink classe, la méthode de soumission, dans lequel je veux utiliser l'objet à partir de la Superclasse de cliquer sur un lien. Espérons que cette aide!
  • J'ai été la mise capacités à l'aide de "@Avant", et "@Test", mais plus tard, j'ai supprimé
  • toujours le même. j'.e.exception de pointeur null
  • Avez-vous vérifié la page du modèle objet de tutoriels? Beaucoup de/la plupart de leur montrer comment faire cela. Vous pouvez commencer par lire le Sélénium docs sur le POM. seleniumhq.org/docs/...
  • C'est dans la mesure où vous n'êtes pas à l'initialisation de la webdriver dans le constructeur de la superclasse.

InformationsquelleAutor Ashwin | 2017-02-19