如何发送用户名,密码并单击提交按钮

时间:2019-02-14 19:17:16

标签: java selenium-webdriver

我要发送用户名,密码,然后单击嵌套的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"); 
}

也许有人可以帮助我。

谢谢。

1 个答案:

答案 0 :(得分:1)

不明白,为什么要使用循环。最简单的形式是,您需要这种代码:

driver.findElement(By.id("username")).sendKeys("ADMIN");
driver.findElement(By.id("password")).sendKeys("password");
driver.findElement(By.id("login-submit")).click();

使用PageObjects会有所不同。