1、登录

关键字 

*** Settings ***
Library Selenium2Library

*** Variables ***
${SERVER}  ip:port
${BROWSER} chrome
${DELAY} 0
${VALID USER} admin
${VALID PASSWORD} 123456
${LOGIN URL} http://${SERVER}/

*** Keywords ***
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Maximize Browser Window

Go To Login Page
Click Link login-link

Input Username
[Arguments] ${username}
Input Text user ${username}

Input Password
[Arguments] ${password}
Input Text password ${password}

Submit Credentials
Click Button login
Set Selenium Speed ${DELAY}

用例  ( 正常登录/异常登录)

*** Settings ***
Test Teardown Close Browser
Resource resource.txt
Library Selenium2Library

*** Test Cases ***
Invalid Username
Login With Invalid Credentials Should Fail invalid 123456
Page Should Contain Username or Password Are Incorrect

Invalid Password
Login With Invalid Credentials Should Fail admin invalid
Page Should Contain Username or Password Are Incorrect

Invalid Username And Password
Login With Invalid Credentials Should Fail invalid whatever
Page Should Contain Username or Password Are Incorrect

Empty Username
Login With Invalid Credentials Should Fail2 ${EMPTY} 123456
Page Should Contain You must fill in this field

Empty Password
Login With Invalid Credentials Should Fail2 admin ${EMPTY}
Page Should Contain Log \ In

Empty Username And Password
Login With Invalid Credentials Should Fail2 ${EMPTY} ${EMPTY}
Page Should Contain You must fill in this field

valid Login
Login With valid Credentials Should Success admin 123456

*** Keywords ***
Login With Invalid Credentials Should Fail
[Arguments] ${username} ${password}
Open Browser To Login Page
Go To Login Page
Input Username ${username}
Input Password ${password}
Submit Credentials

Login With valid Credentials Should Success
[Arguments] ${username} ${password}
Open Browser To Login Page
Go To Login Page
Input Username ${username}
Input Password ${password}
Submit Credentials
Wait Until Page Contains Element Xpath =//*[@id="jf-header"]/div[2]/div[2]/div/a[1] 20 login
Page Should Contain ${VALID USER}

Login With Invalid Credentials Should Fail2
[Arguments] ${username} ${password}
Open Browser To Login Page
Go To Login Page
Input Username ${username}
Input Password ${password}

2、新增

 

create local
Open Browser http:// ip:port/artifactory/webapp/#/admin/repositories/local chrome #打开浏览器进入到新增页面
Maximize Browser Window #最大化
local #登录系统
Wait Until Page Contains Element id=repositories-new #等待页面包含新增元素
Click Element repositories-new #点击新增元素
Wait Until Page Contains Element id=repository-select-package-type-generic #等待新增页面包含新增类型元素
Click Element repository-select-package-type-generic #点击要新增的库类型

Input Text repoKey-new zhy-release-generic #输入库名

Wait Until Element Is Enabled repository-save-button #等待保存按钮显示
Click Button repository-save-button #点击保存按钮
sleep 10
Wait Until Page Contains Element name=gridFilter #等待页面包含查询框
Input Text gridFilter zhy-release-generic #在查询框中输入要删除的库
Sleep 3
[Teardown]

3、删除

delete local
Open Browser http://ip:port/artifactory/webapp/#/admin/repositories/local chrome #打开浏览器进入到删除页面
Maximize Browser Window #最大化
local #登录系统
Wait Until Page Contains Element name=gridFilter #等待页面包含查询框
Input Text gridFilter zhy-release-generic #在查询框中输入要删除的库
Sleep 3
Click Element Xpath=//*[@id="jf-content"]/ui-view/div/ui-view/ui-view/div/div/div/jf-grid/div/div[2]/div[1]/div/div[2]/div/div[2]/div/div/div[2]/div[2]/div/div #选中要删除的库
Wait Until Element Is Enabled Xpath=//*[@id="jf-content"]/ui-view/div/ui-view/ui-view/div/div/div/jf-grid/div/div[2]/div[2]/div[2]/div/div[2]/div/div/div[5]/div[1]/a #等待删除元素显示
Click Element Xpath=//*[@id="jf-content"]/ui-view/div/ui-view/ui-view/div/div/div/jf-grid/div/div[2]/div[2]/div[2]/div/div[2]/div/div/div[5]/div[1]/a #点击删除元素
Wait Until Element Is Enabled id=popup-confirm #等待弹出的删除按钮显示
Click Button popup-confirm #点击删除按钮
Sleep 2
Page Should Not Contain Element zhy-release-generic
[Teardown]

 

---登录关键字
local
Input Text user admin
Input Text password 123456
Click Element     login

 

----如何自动获取库名

${time} Get Time epoch   
${repokey} Evaluate """local""""${time}"""    生成库名
Set Suite Variable ${repokey} ${repokey}  设置用例全局的库名
${repotype} Set Variable generic   
Set Suite Variable ${repotype} ${repotype}  设置用例全局的库类型
${repo1} Set Variable ${repoKey}-snapshot-${repoType}  
Set Suite Variable ${repo1} ${repo1}  设置用例全局的库
Input Text repoKey-new ${repo1}