2017-05-31 3 views
1

Hier ist mein Szenario, das automatisiert werden muss:Wie man sich auf einer Website parallel mit verschiedenen Benutzern in Selenium Web-Treiber anmelden?

  1. Ich muss in Website einzuloggen mit verschiedenen Benutzern ‚gmail‘ sagen.
  2. Führen Sie verschiedene Operationen aus, sagen Sie "komponieren", "Einstellungen ändern" usw.
  3. Dann abmelden.

Ich brauche alle oben genannten Schritte parallel durchgeführt werden.

  • Klasse1 - Öffnet mehrere Chrome-Treiber.
  • class2 - Methoden zum Ausführen von Operationen wie Navigation, Texteingabe, Klicks usw.
  • class3 - enthält Testfälle.

Unten ist mein Code:

public class1 { 
    public static RemoteWebDriver[] driver = new RemoteWebDriver[3]; 
    public void openBrowser(){ 
     System.setProperty("webdriver.chrome.driver", chromeDriverPath); 
     for(i = 0;i<2;i++){ 
      driver[i] = new ChromeDriver(); 
      driver[i].manage().window().maximize(); 
     } 
    } 
} 

public class2 extends class1 { 
    public void click() {...} 
    public void setText() {...} 
} 

public class2 { 
    @Test 
    public void test1() {...} 
    public void test2() {...} 
} 

Mit meinem obigen Code, ich bin in der Lage mehrere Browser-Instanzen zu öffnen, mit anderen Sitzung IDs.

Dann werden die Operationen im selben Browser mehrmals ausgeführt, dh Navigiert zu gmail.com 3 mal, dann gibt den Benutzernamen dreimal ein (user1user1user1).

Es läuft nicht in 3 verschiedenen Instanzen des Browsers.

Bitte helfen Sie mir, dies zu erreichen.

+0

Können Sie uns bitte Ihre Arbeit zeigen? – DebanjanB

+0

@DebanjanB, Willst du meine komplette Kodierung zeigen? – Bala

+0

Es wäre hilfreich für die SO-Community-Freiwillige, Ihnen die effizienteste Lösung vorzuschlagen, wenn Sie statt des Prototyps hier Ihre genaue Arbeit angeben. Danke – DebanjanB

Antwort

0

Sie verwenden TestNG, also können Sie dies mit dem Attribut parallel in Ihrem XML-Code erstellen. Dazu gibt es viele Tutorials im Internet. This könnte für Sie von Interesse sein.

Auch this google group thread hat eine sehr gute Diskussion darüber.

Ein ausführlicher Blogeintrag ist here.

+0

Danke !!! .. Ihr ausführlicher Blog-Link ist nützlich. Trotzdem konnte ich nicht parallel ausführen. Ich habe die gleiche Technik für Suites implementiert. Keine Verwendung. Ich habe 'ISuiteListener' Schnittstelle anstelle von IInvokedMethodListener verwendet. Hier in meinem Szenario brauche ich nicht Klassen/Methoden parallel zu laufen, ich brauche Suiten, um parallel zu laufen. – Bala

0

Verweisen Sie auf this Link, wie verschiedene Anmeldeinformationen für verschiedene Browserknoten gleichzeitig übergeben werden, und verweisen Sie meine Antwort auf this Link zum Testen mehrerer Testskripts gleichzeitig auf verschiedenen Browserknoten. Lassen Sie mich im Falle von Problemen wissen.

Verwandte Themen