我要发送用户名,密码,然后单击嵌套的div类元素中的“提交”按钮。
我的HTML代码也是如此:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="/css/main.css"/>
<title>Matilda Login</title>
</head>
<body>
<div class="vertical-center">
<div class="container">
<div class="row justify-content-center align-items-center">
<div class="col-md-6 col-md-offset-3">
<h4>LOGIN</h4>
<form action="/login" method="post" autocomplete="off"><input type="hidden" name="_csrf" value="e497ff0a-993c-41ad-bf03-54c79a7756e9"/>
<div class="form-group">
<label for="username" >Benutzername</label>:
<input type="text"
id="username"
name="username"
class="form-control"
autofocus="autofocus"
placeholder="Username"/>
</div>
<div class="form-group">
<label for="password" >Passwort</label>:
<input type="password"
id="password"
name="password"
class="form-control"
placeholder="Password"/>
</div> <div class="form-group">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit"
name="login-submit"
id="login-submit"
class="form-control btn btn-info"
value="Log In"/>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/webjars/jquery/3.2.1/jquery.min.js/"></script>
<script type="text/javascript" src="/webjars/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
</html>
这是我的集成测试,但我不知道如何输入用户ADMIN和我的密码,然后单击提交按钮。
List<WebElement> elements = driver.findElements(By.cssSelector("div.row input[class='col-sm-6 col-sm-offset-3']"));
for(WebElement el : elements)
{
driver.findElement(By.id("username")).sendKeys("ADMIN");
driver.findElement(By.id("password")).sendKeys("password");
}
也许有人可以帮助我。
谢谢。
答案 0 :(得分:1)
不明白,为什么要使用循环。最简单的形式是,您需要这种代码:
driver.findElement(By.id("username")).sendKeys("ADMIN");
driver.findElement(By.id("password")).sendKeys("password");
driver.findElement(By.id("login-submit")).click();
使用PageObjects会有所不同。