2013-08-02 3 views
2

Я пытаюсь узнать автоматизацию selenium webdriver, но обнаруживаю, что команда sendKeys не вводит поля «Тип пароля». Я вижу, что некоторые другие люди также сталкиваются с одной и той же проблемой, перейдя по ссылке, но я еще не видел правильного ответа. Может ли кто-нибудь помочь мне здесь.Websdriver - команда sendKeys не вводит поле «Тип пароля»

Код подкатегории; Я сгенерировал код из Selenium IDE и его работоспособность на IDE, но не при использовании webdriver.

package com.example.tests; 

public class Login { 
    private WebDriver driver; 
    private String baseUrl; 
    private boolean acceptNextAlert = true; 
    private StringBuffer verificationErrors = new StringBuffer(); 

    @Before 
    public void setUp() throws Exception { 
    driver = new FirefoxDriver(); 
    baseUrl = "http://www.webs.com/"; 
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
    } 

    @Test 
    public void testLogin() throws Exception { 
    driver.get(baseUrl + "/"); 
    driver.findElement(By.cssSelector("span")).click(); 
    driver.findElement(By.id("FWloginUsername")).clear(); 
    driver.findElement(By.id("FWloginUsername")).sendKeys("[email protected]"); 
    driver.findElement(By.id("FWloginPassword2")).clear(); 
    driver.findElement(By.id("FWloginPassword2")).sendKeys("webs"); 
    driver.findElement(By.id("sign_in_leaf")).click(); 

    } 
+0

Что вы подразумеваете под словом «Не работает»? Выбрасывает ошибку или просто не вводит ее? –

+0

Извините, я должен был уточнить. Он просто не вводит в него. –

+1

Я не знаю, что не так. Вы абсолютно уверены, что не набрали его? Возможно, он работает слишком быстро, что вы не можете видеть его ввод/запись. Я бы рекомендовал отладить его и запустить его командой по команде. –

ответ

0

Было два поля пароля, и один скрыт. Решение состоит в том, чтобы щелкнуть по первому паролю [скрытое], чтобы получить второе поле пароля.

driver.findElement(By.id("FWloginUsername")).sendKeys("[email protected]"); 
driver.findElement(By.id("FWloginPassword")).click(); 
driver.findElement(By.id("FWloginPassword2")).clear(); 
driver.findElement(By.id("FWloginPassword2")).sendKeys("webs"); 
0

У меня была почти аналогичная ситуация для поля Пароль. Для одного поля «Пароль» было два элемента, но с разными идентификаторами. JavaScript переводил «type = password» во время выполнения для щелчка, очистки или любого действия в этом поле.

Решение в этом случае найти текст с входом type = password,

, например:

driver.FindElement(By.CssSelector("input[type='password']")).SendKeys(IWebElement); 
-2
cvvTxtBox().sendKeys("1234"); 
cvvTxtBox().sendKeys(Keys.TAB); 

Окончательное решение по этой проблеме.
Else use Robot

Смежные вопросы