Définir la valeur de l'entrée au lieu de sendKeys() - selenium webdriver nodejs

J'ai une longue chaîne de test et sendKeys() prend trop de temps. Quand j'ai essayé de définir la valeur de la text le programme se bloque. Je sais que le Sélénium sendKeys() est la meilleure façon de tester la réelle entrée de l'utilisateur, mais pour mon application, il prend trop de temps. Donc, je suis en train d'essayer de l'éviter.

Est-il un moyen de définir la valeur immédiatement?

Voir ce bref exemple:

var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder().
   withCapabilities(webdriver.Capabilities.chrome()).
      build();

driver.get('http://www.google.com');

//find the search input field on google.com
inputField = driver.findElement(webdriver.By.name('q'));

var longstring = "test"; //not really long for the sake of this quick example

//this works but is slow
inputField.sendKeys(longstring);

//no error but no values set
inputField.value = longstring;

//Output: TypeError: Object [object Object] has no method 'setAttributes'

inputField.setAttributes("value", longstring);
  • En effet, l'alternative à sendKeys serait de définir la valeur de la input élément du DOM directement. Cependant, vous manifestez un seul fragment de la façon dont vous essayez de le faire et vous n'expliquez pas comment le programme "plante" exactement. ("Accidents" n'est pas précise du tout.)
  • Désolé, j'ai mis à jour le message d'Erreur dans l'édition.
  • Votre code est toujours en ne montrant que des fragments de la façon dont vous le faites. Vous n'avez pas de montrer comment input obtient une valeur. Vous montrez comment inputField obtient une valeur, mais pas input, qui est une variable différente.
  • C'était malheureusement une faute de frappe. Il devrait être inputField tout au long de. Avec .value = longstring le programme s'exécute bien, mais n'est pas réellement définir la valeur.
  • Similaire pour Python: Définir l'attribut d'un élément à l'aide de webdriver à SQA
InformationsquelleAutor F. Rakes | 2014-08-30