Wie erhalte ich Zugriff auf die text-input-Wert in selenium webdriver mocha tests
Hilfe brauchen Tests, Nutzer-Interaktionen mit Mokka selenium webdriver. Keine Ahnung, wo zu finden, was die richtige Methode ist, auf den Wert der text-Eingabe. Habe versucht, verschiedene Variationen über getAttribute(), getText, etc. Bekomme den gleichen Fehler:
TypeError: Object [object object] has no method 'getElementText'
Hier ist mein code:
var assert = require('assert'),
fs = require('fs');
var webdriver = require('../node_modules/selenium-webdriver'),
test = require('../node_modules/selenium-webdriver/testing'),
remote = require('../node_modules/selenium-webdriver/remote');
test.describe('Google Search', function() {
var driver;
this.timeout(60000);
test.before(function() {
driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
});
test.it('should append query to title', function() {
//setTimeout(done, 60000);
driver.get('http://localhost:8080/devanagariTextField/index.html');
driver.findElement(webdriver.By.id('textbox')).sendKeys('gaa');
//driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getElementText('value').then(function(text) {
console.log('TEXT: ' + text)
return 'गा' === text;
});
}, 1000);
});
//test.after(function() { driver.quit(); });
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Führen Sie die getText/getAttribute Anruf auf das element, nicht der Fahrer Objekt
getAttribute("value")
ist wirklich, wie Sie dies tun?! Das macht keinen Sinn. Es gibt einen großen Unterschied zwischen denvalue
Attribut einesinput
element und seinevalue
Eigenschaft. Hat Selen tun den schrecklichen, was jQuery macht und verschmelzen Sie?Dies ist, was funktioniert für mich am Ende. Ich brauchte, um das
.then()
Funktion nach dersendKeys()
rufen und dann wieder das value-Attribut an dieser Stelle. Steves Antwort war hilfreich, aber ich kam um diese durch zu spielen um mit einem Beispiel auf git-hub genannt Selen-Mocca-chai-saucelabs.