2017-06-23 2 views
0

Ich versuche, mich auf einer Website als Administrator anzumelden und dann zu einer anderen Seite (einem Portal) zu wechseln, die diese Administratoranmeldung erfordert, um Daten anzuzeigen. Ich glaube nicht, dass ich auf die Cookies zugreifen kann, weil ich auf ein Problem mit https-Cookies stoße, das ich vorher gelesen habe (korrigiere mich, wenn ich falsch liege).Navigieren zu einer anderen URL während der Webdriver-Aufgabe

Also meine aktuelle Lösung ist die URL eingeben, sobald der Login-Prozess abgeschlossen ist und dann mit anderen Aufgaben fortfahren. Könnten Sie mir bitte die Methoden/Funktionen nennen, die ich verwenden kann? Wenn es bessere Möglichkeiten gibt, dies zu tun, würde ich mich auch freuen, davon zu hören!

var webdriver = require("selenium-webdriver"); 
var By = require("selenium-webdriver").By; 
var until = require("selenium-webdriver").until; 
var assert = require("chai").assert; 
var filename = "img"; 
var fs = require('fs'); 
var err = "error caught!"; 
var testName = "get_login_cookies"; 

var driver = new webdriver.Builder() 
    .forBrowser('chrome') 
    .build(); 

describe('email register', function() { 
    this.timeout(25000); 

before(function(done) { 
    driver.navigate().to('https://www.perlego.com/#'); 
    driver.manage().deleteAllCookies; 
    driver.manage().window().maximize() 
    .then(() => done()) 
}); 

it('logs in with admin user and gets cookies', (done) => { 

    driver.findElement(By.name('email')).sendKeys("[email protected]"); 
    driver.findElement(By.css('#password')).sendKeys("examplePassword"); 
    driver.findElement(By.css('.login-button')).click(); 

    // some code here to navigate to other page via url 

    // runs remainder of tests 

}); 

after(function(done) { 
    driver.quit() 
    .then(() => done()) 
}); 
}); 

Antwort

0

So fand ich, dass es so einfach war, wie die driver.navigate() -Methode ausgeführt wird, wo ich auf eine neue Seite gehen wollte.

driver.navigate() bis (‚https://www.somesite.com/#‘) ;

Aufgrund der Cookie-Einstellungen auf der Website konnte ich nicht mit dem Webdriver darauf zugreifen, daher musste ich jedes Mal das Passwort eingeben.

Ich wurde durch das Warten auf Ajax-Aufrufe auf der Seite gestolpert bei dem Versuch, Elemente auszuwählen, diese Methode geholfen:

driver.manage() Timeouts() implicitlyWait (3000);..

Hoffe das hilft jemand da draußen!

Verwandte Themen