我有一个非常简单的selenium脚本来尝试调试我遇到的问题。我所做的只是填写用户名,然后填写密码,然后检查我输入的密码是否在密码字段中。我这样做的原因是我无法通过身份验证,在密码正确时始终收到“密码错误问题”。
表单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" />
从我的Selenium脚本创建的Java:
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");
selenium.type("password", "qqqqqqqq");
verifyEquals("qqqqqqqq", selenium.getValue("password"));
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
这会抛出一个expected "" to match glob "qqqqqqqq" (had transformed the glob into regexp "qqqqqqqq")
,表示填写了密码字段。我还看到测试在慢速模式下完成,脚本填写用户名,但不填写密码字段。
答案 0 :(得分:2)
非常奇怪,从未真正发现为什么这种方法不适合这个特定的领域,它可以在页面的其他地方使用。
我解决这个问题的方式是
char[] password = {'p','a','s','s','w','o','r','d'};
for(int i = 0; i < 8; i++){
selenium.keyPress("password", password[i]);
}