我正在编写一个机器人框架/ 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将打开并正确显示网页。我可以在网页上看到“登录”按钮。我已经尝试了Click Button定位器参数的各种组合(登录,值=登录,文本=登录)。每次尝试都会导致“找不到定位器的按钮”消息。这是我关于Robot Framework / Selenium的第一个项目,因此将不胜感激。谢谢!
答案 0 :(得分:2)
Third
参数是您的locator
,您可以使用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文档。