我正在编写一个机器人框架/Selenium 测试脚本来验证网站的登录过程。我无法获得正确的语法来自动按下登录按钮。这是机器人脚本:
*** Settings ***
Documentation Project Automated Test
Library SeleniumLibrary
*** Variables ***
${LOGIN URL} http://localhost/project
${BROWSER} Chrome
*** Test Cases ***
Valid Login
Open Browser To Login Page
Maximize Browser Window
Welcome Page Should Be Open
Login_User
[Teardown] Close Browser
*** Keywords ***
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Welcome Page Should Be Open
Page should contain Project Tasks
Login_User
Click Button Login
这是登录按钮的代码:
<input class="btn" type="button" onclick="
if(document.getElementById('authentication').style.display == 'none'){
$('#authentication').slideDown('slow');
} else {
$('#authentication').slideUp('slow');
}
" href="#" value="Login">
当脚本启动时,Chrome 将打开并且网页将正确显示。我可以在网页上看到登录按钮。我尝试了“单击按钮定位器”参数的各种组合(登录、值=登录、文本=登录)。每次尝试都会产生“找不到定位器的按钮”消息。这是我使用 Robot Framework/Selenium 的第一个项目,因此我们将不胜感激。谢谢!
最佳答案
Third
参数是您的定位器
,您可以使用 id、name、xpath 或 css 选择器。由于 id 和 name 不可用,您可以使用 xpath 或 css 选择器。
Login_User
Click Button xpath://input[@class='btn'][@value='Login']
或 CSS 选择器
Login_User
Click Button css:input.btn[value='Login']
您可以引用以下robot framework文档。
关于selenium - 用于单击按钮的正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55938139/