2020-06-02 11:51:59 +08:00
*** Settings ***
Library Selenium2Library
Resource ../Menu.robot
Library Collections
2021-02-01 19:05:41 +08:00
Library ../../../04-CustomLibrary/Custometest/StringManipulation.py
2020-06-02 11:51:59 +08:00
*** Keywords ***
2021-02-02 20:05:00 +08:00
OpenPages
[Arguments] ${SecondaryMenu} ${Three-levelMenu} ${Targeting}=null ${Amenu}=null
[Documentation]
... ${SecondaryMenu}:二级菜单
... ${Three-levelMenu}:三级菜单
... ${Targeting} :三级菜单 定位方式 默认不输入为id
run keyword if "${Amenu}"=="null" run keywords sleep 1
... AND click element id=children7
... ELSE click element id=${Amenu}
Sleep 1
click element id=${SecondaryMenu}
sleep 1
run keyword if "${Targeting}"=="null" run keywords sleep 1
... AND click element id=${Three-levelMenu}
run keyword if "${Targeting}"=="xpath" run keywords sleep 1
... AND click element ${Targeting}=${Three-levelMenu}
sleep 2
2021-02-01 19:48:24 +08:00
UserCreatePage
[Arguments] ${name} ${username} ${accPasswd} ${Required_Password_Change} ${day} ${accEnable} ${role}
Menu administration Accounts
Wait Until Element Is Enabled id=userAdd 10
Click element id=userAdd
2021-02-01 19:05:41 +08:00
sleep 2
2021-02-01 19:48:24 +08:00
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[1]/div/div[1]/input ${name}
2021-02-01 19:05:41 +08:00
sleep 1
2021-02-01 19:48:24 +08:00
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[2]/div/div[1]/input ${username}
2021-02-01 19:05:41 +08:00
sleep 1
2021-02-01 19:48:24 +08:00
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[3]/div/div/input ${accPasswd}
2021-02-01 19:05:41 +08:00
sleep 1
2020-12-22 18:34:28 +08:00
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[4]/div/div/input ${accPasswd}
2021-02-01 19:05:41 +08:00
sleep 1
2021-02-01 19:48:24 +08:00
run keyword if "${accEnable}"=="close" run keywords click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[6]/div/div
... AND sleep 1
... ELSE log 不操作
2021-02-01 19:05:41 +08:00
sleep 1
run keyword if "${Required_Password_Change}"=="open" Run Keywords click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[5]/div/div
2020-12-09 18:10:46 +08:00
... AND sleep 1
2020-12-22 18:34:28 +08:00
... AND input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[6]/div/div/input ${day}
... ELSE log 不开启密码过期验证
2021-02-01 19:05:41 +08:00
Click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[last()]/div/div/div/span/span/i
2020-12-22 18:34:28 +08:00
sleep 1
2021-02-02 20:05:00 +08:00
Execute Javascript window.scrollTo(0, document.body.scrollHeight)
sleep 1
2020-12-22 18:34:28 +08:00
click element //span[.="${role}"]
2021-02-01 19:48:24 +08:00
sleep 1
click button xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/button[1]
2021-02-02 20:05:00 +08:00
Wait Until Element Is Enabled id=profilesTabs_Profile_ResponsePages 20
2021-02-01 19:05:41 +08:00
UserEdit
[Arguments] ${password} ${enable}
Sleep 2
click element id=userEdit
Sleep 1
2021-02-01 19:48:24 +08:00
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[3]/div/div/input ${password}
sleep 1
2021-02-01 19:05:41 +08:00
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[4]/div/div/input ${password}
Sleep 1
run keyword if "${enable}"=="close" run keywords click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[6]/div/div
... AND sleep 1
... ELSE log 不操作
2021-02-01 19:48:24 +08:00
sleep 1
click button xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/button[1]
2021-02-01 19:05:41 +08:00
sleep 2
2021-02-02 20:05:00 +08:00
CreateRoles
[Arguments] ${name} ${description} ${list}
[Documentation]
... ${name}:角色权限名称
... ${description}:备注
... ${list}:权限定位列表
sleep 1
Click element id=children7
sleep 1
Click element id=sidebarsystem_accounts
sleep 1
Click element id=profilesTabs_Profile_Insert
sleep 1
Click element id=app_create
2021-02-02 23:44:06 +08:00
sleep 2
2021-02-02 20:05:00 +08:00
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[1]/div/div[1]/input ${name}
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[2]/div/div/input ${description}
sleep 1
FOR ${i} IN @{list}
log ${i}
Execute Javascript window.scrollTo(0, document.body.scrollHeight)
click element xpath=${i}
sleep 1
END
click element id=rolesOk
sleep 1
EditRoles
[Arguments] ${name}=null ${description}=null ${Authority}=null ${Authorityxpath}=null
sleep 1
click element id=appEdit
Wait Until Element Is Enabled xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[1] 20
run keyword if "${name}" != "null" run keywords sleep 1
... AND input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[1]/div/div[1]/input ${name}
... ELSE log name不修改
run keyword if "${description}" != "null" run keywords sleep 1
... AND input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[2]/div/div/input ${description}
... ELSE log description不修改
run keyword if "${Authority}" != "null" run keywords sleep 1
... AND click element xpath=${Authorityxpath}
... ELSE log 权限不修改
sleep 1
click element id=rolesOk
sleep 1
RolesVerification
[Arguments] ${rolexpath} ${role}
[Documentation]
... ${rolexpath}:权限在侧滑框的定位
... ${role} : 权限 ( Enable、ReadOnly、Disable)
click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[3]/div/div/span/span
Wait Until Element Is Enabled xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[5]/div 20
${text} Get Element Attribute xpath=${rolexpath} class
${role} Set Variable if "${role}" == "Enable" iconfont switch_i icon-Rolesenable
... "${role}" == "ReadOnly" iconfont switch_i icon-Rolesreadonly
... "${role}" == "Disable" iconfont switch_i icon-Rolesdisable
sleep 1
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[5]/div/div[2]/div/button
sleep 1
Should Be Equal As Strings ${text} ${role}
2021-02-01 19:48:24 +08:00
Login
2021-02-01 19:05:41 +08:00
[Arguments] ${UserName} ${Password}
Mouse Hover xpath=//*[@id="app"]/div/div[1]/div[2]/div/span/div/span
sleep 1
click element xpath=//div[@class='SignOut']
sleep 2
input text xpath=//*[@id="app"]/div/div[2]/div/div[2]/div/input ${UserName}
sleep 1
input text xpath=//*[@id="app"]/div/div[2]/div/div[3]/div/input ${Password}
sleep 1
click element xpath=/html/body/div/div/div[2]/div/div[4]/button
sleep 2
TurnPage
[Arguments] ${NextPage} ${PreviousPage} ${JumpInput} ${pages} ${AssertXpath}
[Documentation]
... ${NextPage} 下一页按钮定位
... ${PreviousPage} 上一页按钮定位
2021-02-02 23:44:06 +08:00
... ${JumpInput} 跳转页面输入框
2021-02-01 19:05:41 +08:00
... ${pages} 跳转得页码
${text1} get text xpath=${AssertXpath}
Click element xpath=${NextPage}
sleep 2
${text2} get text xpath=${AssertXpath}
Click element xpath=${PreviousPage}
sleep 2
${text3} get text xpath=${AssertXpath}
Clear Element Text xpath=${JumpInput}
sleep 2
input text xpath=${JumpInput} ${pages}
sleep 2
press keys xpath=${JumpInput} ENTER
sleep 2
${text4} get text xpath=${AssertXpath}
Click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[last()]/div/ul/li[last()]
sleep 2
${text5} get text xpath=${AssertXpath}
Should Not Be Equal ${text1} ${text2}
Should Not Be Equal ${text3} ${text2}
Should Not Be Equal ${text3} ${text4}
Should Not Be Equal ${text1} ${text5}
PagingDisplay
[Arguments] ${Number}
2021-02-02 20:05:00 +08:00
[Documentation]
... ${Number}: 设置页面显示数据条数 ( 20、5、30、50、100)
2021-02-01 19:05:41 +08:00
Mouse Over xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[4]/span/div/i
sleep 1
run keyword if "${Number}"=="30" run keywords sleep 1
... AND Click element xpath=//*[@id="page-size"]/div/label[2]
... ELSE IF "${Number}"=="50" run keywords sleep 1
... AND Click element xpath=//*[@id="page-size"]/div/label[3]
... ELSE IF "${Number}"=="100" run keywords sleep 1
... AND Click element xpath=//*[@id="page-size"]/div/label[4]
... ELSE Clear Element Text xpath=/html/body/div[last()]/div[1]/div[2]/input
... AND Input Text xpath=/html/body/div[last()]/div[1]/div[2]/input ${Number}
sleep 1
Click element xpath=/html/body/div[last()]/div[1]/div[2]/button
sleep 2
${text} Get text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[4]/div/span[1]
sleep 1
${Quantity} StringSegmentation ${text}
sleep 1
${quyu} Evaluate ${Quantity}%${Number}
${qumo} Evaluate ${Quantity}/${Number}
2021-02-02 20:05:00 +08:00
${quzheng} Evaluate int(${qumo})
2021-02-01 19:05:41 +08:00
${b} Set Variable ${1}
2021-02-02 23:44:06 +08:00
${Page1} Evaluate ${quzheng}+${b}
2021-02-01 19:05:41 +08:00
${Page} Set Variable if "${qumo}" != "0" ${Page1} ${qumo}
sleep 1
${text} Get text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[4]/div/ul/li[last()]
Should Be Equal As Strings ${text} ${Page}
2021-02-02 20:05:00 +08:00
UserSearchName
[Arguments] ${name} ${type}
2021-02-02 23:44:06 +08:00
sleep 1
2021-02-02 20:05:00 +08:00
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[1]/span/div/div/div[2]/div/div/div[1]/input
sleep 2
run keyword if "${type}"=="Name" run keywords click element xpath=/html/body/div/div[1]/div[1]/ul/li[3]
... AND sleep 1
run keyword if "${type}"=="UserName" run keywords click element xpath=/html/body/div/div[1]/div[1]/ul/li[2]
... AND sleep 1
sleep 2
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[1]/span/div/div/div[2]/div/div[1]/div[3]/div/input ${name}
sleep 2
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[1]/span/div/i
sleep 2
click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
sleep 2
Assertion
[Arguments] ${assertxpath} ${asserttext}
${text} Get text xpath=${assertxpath}
Should Be Equal As Strings ${text} ${asserttext}
2021-02-02 23:44:06 +08:00
RoleSearch
2021-02-02 20:05:00 +08:00
[Arguments] ${name}
[Documentation] Roles页面搜索功能
... ${name}:搜索条件name
2021-02-02 23:44:06 +08:00
sleep 1
2021-02-02 20:05:00 +08:00
Click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[1]/span/div/div/div[2]/div/div/div[1]/input
sleep 1
Click element xpath=/html/body/div/div[1]/div[1]/ul/li[2]
sleep 1
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[1]/span/div/div/div[2]/div/div[1]/div[3]/div/input ${name}
sleep 1
Click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[1]/span/div/i
sleep 2
RolesDelete
Click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
sleep 1
Click element id=appDel
sleep 1
Click element xpath=/html/body/div/div/div[3]/button[2]
sleep 1
2020-07-20 18:38:17 +08:00