diff --git a/01-TestCase/tsg_ui/Administration/AuditLogsCase.robot b/01-TestCase/tsg_ui/Administration/AuditLogsCase.robot index 09a12d9..515bc99 100644 --- a/01-TestCase/tsg_ui/Administration/AuditLogsCase.robot +++ b/01-TestCase/tsg_ui/Administration/AuditLogsCase.robot @@ -309,7 +309,52 @@ AuditLogsRoles Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[3]/td[2]/div/div Add Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[2]/td[2]/div/div Update Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[2]/div/div Delete + +AuditLogsLDAPServer + [Tags] Positive UI LDAP Server Administration AuditLogs + ${list} Create List CreateLDAPServer 192.168.40.120 389 cn=root,dc=bifang,dc=com uid dc=bifang,dc=com 111111 21 + ${list1} Create List ${TEST NAME} 192.168.40.120 389 cn=root,dc=bifang,dc=com uid dc=bifang,dc=com 111111 22 + CreateLDAPServer ${list} + LDAPServerSearch CreateLDAPServer name + ${id} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[1]/div/div/span/span + EditLDAPServer ${list1} open + LDAPServerSearch ${id} id + click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[7]/div/div/span/div/span + sleep 1 + click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/span/div/i + DeleteLDAPServer + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 + AdminOpenPages sidebarsystem_PolicyConfigurationLog sidebarsystem_PolicyConfigurationLog + AuditLogsSearch ${id} LDAP Server + Wait Until Element Is Enabled xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[1]/div/div 20 + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[1]/div/div ${id} + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[3]/div/div LDAP Server + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[4]/td[2]/div/div Add + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[3]/td[2]/div/div Update + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[2]/td[2]/div/div Update + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[2]/div/div Delete +AuditLogsLoginRestrictions + [Tags] Positive UI LDAP Server Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + AddAuthorizedSourceIP 255.145.111.1/24 + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 + LoginRestrictions-SearchIP 255.145.111.1/24 + LoginRestrictions-DeleteIP + RestrictionsButton open + EditMaximumLoginAttemepts 2 + EditLockTime 1 + AdminOpenPages sidebarsystem_PolicyConfigurationLog sidebarsystem_PolicyConfigurationLog + AuditLogsSearch-NotID Login Restrictions + Wait Until Element Is Enabled xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[1]/div/div 20 + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[3]/div/div Login Restrictions + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[4]/td[2]/div/div Update + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[3]/td[2]/div/div Update + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[2]/td[2]/div/div Update + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[2]/div/div Update + Assertion //*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[5]/td[2]/div/div Update + + AuditLogsSearchDate [Tags] Positive UI Administration AuditLogs ${date1}= Get Current Date result_format=%Y-%m-%d %H:%M:%S #获取当前时间 diff --git a/01-TestCase/tsg_ui/Administration/LoginRestrictionsCase.robot b/01-TestCase/tsg_ui/Administration/LoginRestrictionsCase.robot new file mode 100644 index 0000000..720f87e --- /dev/null +++ b/01-TestCase/tsg_ui/Administration/LoginRestrictionsCase.robot @@ -0,0 +1,139 @@ +*** Settings *** +Force Tags tsg-ui Login Restrictions +Resource ../../../02-Keyword/tsg_ui/administration/Administration.robot +Library OperatingSystem +*** Test Cases *** + +EditLoginRestrictionsRestrictionsButton + [Tags] Positive UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + RestrictionsButton open + Assertion-ElementAttributes //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[1]/div/div el-switch is-checked class + RestrictionsButton close + Assertion-ElementAttributes //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[1]/div/div el-switch class + +LoginRestrictionsAddIP + [Tags] Positive UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + AddAuthorizedSourceIP 255.145.111.1/24 + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 + LoginRestrictions-SearchIP 255.145.111.1/24 + LoginRestrictions-DeleteIP + +LoginRestrictionsNotWhitelistLogin + [Tags] Positive UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + RestrictionsButton open + ${Whitelist}= LoginRestrictionsObtainSQLIP + LoginRestrictions-SearchIP 192.168.32.1/24 + LoginRestrictions-DeleteIP + Login ${username} ${password} + Assertion /html/body/div[last()]/p Unauthorized source IP. + UpdataLoginRestrictionsSQLIP ${Whitelist} + sleep 2 + click element xpath=/html/body/div/div/div[2]/div/div[4]/button + sleep 2 + Assertion //*[@id="children0"]/div/span Dashboard + +LoginRestrictionsLoginLockout + [Tags] Positive UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + RestrictionsButton open + EditMaximumLoginAttemepts 2 + EditLockTime 1 + Login ${username} 1321456 + click element xpath=/html/body/div/div/div[2]/div/div[4]/button + sleep 1 + click element xpath=/html/body/div/div/div[2]/div/div[4]/button + sleep 1 + Assertion /html/body/div[last()]/p Login lockout. + sleep 60 + 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 + Assertion //*[@id="children0"]/div/span Dashboard + +CloseLoginRestrictionsNotWhitelistLogin + [Tags] Positive UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + RestrictionsButton close + LoginRestrictions-SearchIP 192.168.32.1/24 + LoginRestrictions-DeleteIP + Login ${username} ${password} + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + AddAuthorizedSourceIP 192.168.32.1/24 + +MaximumLoginAttemeptsMinimum + [Tags] Boundary UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + EditMaximumLoginAttemepts 1 + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 + +MaximumLoginAttemeptsMax + [Tags] Boundary UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + EditMaximumLoginAttemepts 10 + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 + +MaximumLoginAttemeptsMinimum + [Tags] Boundary UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + EditLockTime 1 + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 + +MaximumLoginAttemeptsMax + [Tags] Boundary UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + EditLockTime 60 + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 + +LoginRestrictionsAddIPExceed255 + [Tags] Negtive UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + AddAuthorizedSourceIP 255.145.256.1/24 + Assertion //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[2]/div/div[1]/div[2]/div[1]/div/div[last()]/div/div[2] Please enter the correct ip address + +LoginRestrictionsAddIPNExceed32 + [Tags] Negtive UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + AddAuthorizedSourceIP 255.145.255.1/33 + Assertion //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[2]/div/div[1]/div[2]/div[1]/div/div[last()]/div/div[2] Please enter the correct ip address + +LoginRestrictionsAddIPExists + [Tags] Negtive UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + AddAuthorizedSourceIP 255.145.111.1/24 + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 + AddAuthorizedSourceIP 255.145.111.1/24 + Assertion //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[2]/div/div[1]/div[2]/div[1]/div/div[last()]/div/div[2] Same item already exists + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + LoginRestrictions-SearchIP 255.145.111.1/24 + LoginRestrictions-DeleteIP + +MaximumLoginAttemeptsExceedMax + [Tags] Boundary UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + EditMaximumLoginAttemepts 11 + Assertion //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[3]/div/div[2] Please enter a value between 1 and 10 + +MaximumLoginAttemeptsExceedMinimum + [Tags] Boundary UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + EditMaximumLoginAttemepts 0 + Assertion //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[3]/div/div[2] Please enter a value between 1 and 10 + +LockTimeExceedMax + [Tags] Boundary UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + EditLockTime 61 + Assertion //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[4]/div/div[2] Please enter a value between 1 and 60 + +LockTimeExceedMinimum + [Tags] Boundary UI Administration Login Restrictions + AdminOpenPages sidebarLogin_Restrictions sidebarLogin_Restrictions + EditLockTime 0 + Assertion //*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[4]/div/div[2] Please enter a value between 1 and 60 + + + \ No newline at end of file diff --git a/02-Keyword/tsg_ui/administration/Administration.robot b/02-Keyword/tsg_ui/administration/Administration.robot index ff4608f..c1ca889 100644 --- a/02-Keyword/tsg_ui/administration/Administration.robot +++ b/02-Keyword/tsg_ui/administration/Administration.robot @@ -4,6 +4,7 @@ Resource ../Menu.robot Library Collections Library ../../../04-CustomLibrary/Custometest/StringManipulation.py Resource ../../../03-Variable/bifangapivariable.txt +Library DatabaseLibrary *** Keywords *** AdminOpenPages @@ -357,6 +358,93 @@ LDAPVerificationADC run keyword if "${text}" != "el-switch is-checked" and "${type}"=="open" run keywords sleep 1 ... AND click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[9]/div/div/span/div sleep 1 + +RestrictionsButton + [Arguments] ${type} + sleep 1 + ${status1} Get Element Attribute xpath=//*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[1]/div/div class + ${status2} Set Variable If "${status1}"=="el-switch" close open + run keyword if "${status2}" != "${type}" run keywords sleep 1 + ... AND click element xpath=//*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[1]/div/div/span + ... ELSE log 不需要改变 + sleep 2 + click element id=wanAdd_ok + sleep 2 + +AddAuthorizedSourceIP + [Arguments] ${IP} + [Documentation] 增加IP + sleep 1 + click element id=temporary_form + sleep 1 + input text xpath=//*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[2]/div/div[1]/div[2]/div[1]/div/div[last()]/div/div[1]/div[1]/div/div[2]/div/input ${IP} + sleep 1 + click element id=wanAdd_ok + sleep 2 + +LoginRestrictions-SearchIP + [Arguments] ${IP} + sleep 1 + input text id=object_ip_search ${IP} + sleep 1 + press keys id=object_ip_search ENTER + sleep 1 + +LoginRestrictions-DeleteIP + sleep 2 + ${text} Get Element Attribute xpath=/html/body/div/div/div[3]/div[2]/div/div[1]/div/div[2]/div/div/form/div[2]/div/div[1]/div[2]/div[1]/div/div[last()]/div/div/div[2]/i[2] id + click element id=${text} + sleep 2 + click element id=wanAdd_ok + sleep 2 + +LoginRestrictions-LastIPNumber + [Documentation] 返回最后一个IP的位数 + ${a} Set Variable ${7} + sleep 1 + Execute Javascript window.scrollTo(0, document.body.scrollHeight) + ${text} Get Element Attribute xpath=/html/body/div/div/div[3]/div[2]/div/div[1]/div/div[2]/div/div/form/div[2]/div/div[1]/div[2]/div[1]/div/div[last()]/div/div/div[2]/i[2] id + sleep 1 + ${Number}= StringSegmentation_2 ${text} ${a} + [Return] ${Number} + +EditMaximumLoginAttemepts + [Arguments] ${Number} + [Documentation] 修改最多错误次数 + sleep 1 + input text xpath=//*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[3]/div/div[1]/input ${Number} + sleep 1 + click element id=wanAdd_ok + sleep 2 + +EditLockTime + [Arguments] ${Time} + [Documentation] 修改等待时间 + sleep 1 + input text xpath=//*[@id="policy_Manipulation2"]/div/div[2]/div/div/form/div[4]/div/div[1]/input ${Time} + sleep 1 + click element id=wanAdd_ok + sleep 2 + + +LoginRestrictionsObtainSQLIP + [Documentation] 获取数据库白名单并返回 + sleep 1 + Connect To Database Using Custom Params pymysql ${mysqlHost} + ${text1} query SELECT login_addr_whitelist FROM login_restrictions_config + ${text1} Set Variable ${text1[0][0]} + Disconnect From Database + log ${text1} + [Return] ${text1} + +UpdataLoginRestrictionsSQLIP + [Arguments] ${Whitelist} + [Documentation] 恢复白名单数据库 + sleep 1 + Connect To Database Using Custom Params pymysql ${mysqlHost} + ${return} Execute Sql String UPDATE login_restrictions_config SET login_addr_whitelist='${Whitelist}' WHERE id=1 + Disconnect From Database + Login [Arguments] ${UserName} ${Password} @@ -469,7 +557,7 @@ AuditLogs-PagingDisplay Should Be Equal As Strings ${text} ${Page} Assertion - [Arguments] ${assertxpath} ${asserttext} + [Arguments] ${assertxpath} ${asserttext} ${text} Get text xpath=${assertxpath} Should Be Equal As Strings ${text} ${asserttext} diff --git a/02-Keyword/tsg_ui/mail/Mailpages.robot b/02-Keyword/tsg_ui/mail/Mailpages.robot index 3fd94b6..1be8a80 100644 --- a/02-Keyword/tsg_ui/mail/Mailpages.robot +++ b/02-Keyword/tsg_ui/mail/Mailpages.robot @@ -9,7 +9,7 @@ CreatePage [Arguments] ${server} ${port} ${username} ${account} ${password} Menu administartion Mail Server sleep 3 - Mail.Create-Server ${server} + Mail.Create -Server ${server} Mail.Create-Port ${port} Mail.Create-Username ${username} Mail.Create-Account ${account} diff --git a/04-CustomLibrary/Custometest/StringManipulation.py b/04-CustomLibrary/Custometest/StringManipulation.py index 1d70d6c..dd8a4b5 100644 --- a/04-CustomLibrary/Custometest/StringManipulation.py +++ b/04-CustomLibrary/Custometest/StringManipulation.py @@ -3,4 +3,9 @@ from builtins import len def StringSegmentation(a): b=len(a) c=a[6:b] + return c + +def StringSegmentation_2(a,k): + b=len(a) + c=a[k:b] return c \ No newline at end of file