开发者

Selenium is not filling in password attribute on form

开发者 https://www.devze.com 2023-03-16 11:40 出处:网络
I have a very simple script for selenium to try and debug an issue I\'m having. All I do is fill in the username, then fill in the password, then check that the password I typed is in the password fie

I have a very simple script for selenium to try and debug an issue I'm having. All I do is fill in the username, then fill in the password, then check that the password I typed is in the password field. The reason I'm doing this is that I can't get it to authenticate in general, consistently getting 'password incorrect issue' when it's the correct password.

The form html:

<input class="inp" id="userName" name="userName" type="text" />             
<input class="inp" id="password" name="password" type="password" /> 
<label for="rememberMe">remember</label> 
<input class="rem" id="rememberMe" name="rememberMe" type="checkbox" value="true" />        
<input name="submit" id="loginSubmit" value="go" type="image" src="http://terra/wp-content/themes/ecobee/images/arrow-right_16x16.gif" /> 

And the Java created from my Selenium script:

package com.example.tests;

import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.regex.Pattern;

public class toso extends SeleneseTestCase {
    @Before
    public void setUp() throws Exception {
        selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://terra/");
        selenium.start();
    }

    @Test
    public void testToso() throws Exception {
        selenium.open("/");
        selenium.type("userName", "cw@qa.com");
   开发者_StackOverflow中文版     selenium.type("password", "qqqqqqqq");
        verifyEquals("qqqqqqqq", selenium.getValue("password"));
    }

    @After
    public void tearDown() throws Exception {
        selenium.stop();
    }
}

This throws a expected "" to match glob "qqqqqqqq" (had transformed the glob into regexp "qqqqqqqq") suggesting the the password field is filled in. I also watched the test complete on slow mode, the script fills in the username, but not the password field.


Very strange, never really found out why this method won't work for this particular field, it works everywhere else on the page.

The way I solved this was

char[] password = {'p','a','s','s','w','o','r','d'};
for(int i = 0; i < 8; i++){
    selenium.keyPress("password", password[i]);
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号