diff --git a/01-TestCase/tsg_ui/Administration/UsersCase.robot b/01-TestCase/tsg_ui/Administration/UsersCase.robot index 6dfb4a1..4d98fff 100644 --- a/01-TestCase/tsg_ui/Administration/UsersCase.robot +++ b/01-TestCase/tsg_ui/Administration/UsersCase.robot @@ -2,7 +2,6 @@ Force Tags tsg-ui Users Resource ../../../02-Keyword/tsg_ui/administration/Administration.robot Library OperatingSystem - *** Test Cases *** UsersCreate [Tags] Positive UI Administration Users @@ -29,7 +28,7 @@ UsersCreateCloseEnableButton [Tags] Positive UI Administration Users ${a} evaluate random.randint(1000,9999) random UserCreatePage 0000 ${a} 111111 open 30 close superuser - UserSearchName 0000 Name + UserSearchName ${a} UserName sleep 1 ${text} Get Element Attribute xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[10]/div/div/span/div class Should Be Equal As Strings ${text} el-switch @@ -38,7 +37,7 @@ UsersCreateRoleSuperReader [Tags] Positive UI Administration Users ${a} evaluate random.randint(1000,9999) random UserCreatePage 0000 ${a} 111111 open 30 close superreader - UserSearchName 0000 Name + UserSearchName ${a} UserName sleep 1 ${text} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[5]/div/div Should Be Equal As Strings ${text} superreader @@ -108,7 +107,7 @@ UsersCreatePasswordExpirationMinimum Should Be Equal As Strings ${name} 0000 UsersCreatePasswordExpirationMax - [Tags] Boundary UI Administration Users + [Tags] Negtive UI Administration Users ${a} evaluate random.randint(1000,9999) random UserCreatePage 0000 ${a} 111111 open 2147483647 log superuser UserSearchName 0000 Name @@ -116,7 +115,7 @@ UsersCreatePasswordExpirationMax Should Be Equal As Strings ${name} 0000 UsersCreateUserNameRepeat - [Tags] Boundary UI Administration Users + [Tags] Negtive UI Administration Users Menu administration Accounts UserCreatePage UsersCreateUserNameRepeat byb 111111 log 30 log superuser sleep 1 @@ -124,7 +123,7 @@ UsersCreateUserNameRepeat Should Be Equal As Strings ${text} User already exists UsersCreatePasswordFormatError - [Tags] Boundary UI Administration Users + [Tags] Negtive UI Administration Users Menu administration Accounts UserCreatePage UsersCreateUserNameRepeat byb @#¥%……&*(*-++ log 30 log superuser sleep 1 @@ -134,7 +133,7 @@ UsersCreatePasswordFormatError Should Be Equal As Strings ${text2} Only English letters, numbers, and special characters ~!@#$%^&*_.? UsersCreatePasswordDifferent - [Tags] Boundary UI Administration Users + [Tags] Negtive UI Administration Users Menu administration Accounts sleep 1 Click element id=userAdd @@ -143,27 +142,27 @@ UsersCreatePasswordDifferent sleep 1 Input Text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[4]/div/div[1]/input 111 sleep 1 - Accounts.Create-Ok + click button xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/button[1] sleep 1 ${text} get text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[4]/div/div[2] Should Be Equal As Strings ${text} The two passwords are inconsistent UsersCreatePasswordExpirationFormatError - [Tags] Boundary UI Administration Users + [Tags] Negtive UI Administration Users ${a} evaluate random.randint(1000,9999) random UserCreatePage 0000 ${a} 111111 open 2147483648 log superuser ${text} get text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[6]/div/div[2] Should Be Equal As Strings ${text} Cannot be 0, exceed maximum 2147483647, and be empty UsersCreatePasswordExpirationIs0 - [Tags] Boundary UI Administration Users + [Tags] Negtive UI Administration Users ${a} evaluate random.randint(1000,9999) random UserCreatePage 0000 ${a} 111111 open 0 log superuser ${text} get text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[6]/div/div[2] Should Be Equal As Strings ${text} Cannot be 0, exceed maximum 2147483647, and be empty UsersCreateNull - [Tags] Boundary UI Administration Users + [Tags] Negtive UI Administration Users Menu administration Accounts sleep 1 Click element id=userAdd diff --git a/01-TestCase/tsg_ui/ui_settings/TrustedCertificateAuthoritiesCase.robot b/01-TestCase/tsg_ui/ui_settings/TrustedCertificateAuthoritiesCase.robot index 0ae142b..62f05b2 100644 --- a/01-TestCase/tsg_ui/ui_settings/TrustedCertificateAuthoritiesCase.robot +++ b/01-TestCase/tsg_ui/ui_settings/TrustedCertificateAuthoritiesCase.robot @@ -121,7 +121,7 @@ TrustedCertificateAuthoritiesInportEmptyFile TrustedCertificateAuthoritiesInportErrorFile [Tags] Negtive UI Settings TrustedCertificateAuthorities - UploadFilesSize TrustedCertificateAuthorities InportErrorFile ${path}keyrings//root//Error.pem Invalid public certificate + UploadFilesSize TrustedCertificateAuthorities InportErrorFile ${path}keyrings//root//Error.pem save trusted certificate authorities failure: The uploaded certificate is incorrect. TrustedCertificateAuthoritiesImportDuplicateCertificate [Tags] Negtive UI Settings TrustedCertificateAuthorities diff --git a/02-Keyword/tsg_ui/administration/Administration.robot b/02-Keyword/tsg_ui/administration/Administration.robot index fd5da79..9a6633a 100644 --- a/02-Keyword/tsg_ui/administration/Administration.robot +++ b/02-Keyword/tsg_ui/administration/Administration.robot @@ -5,10 +5,23 @@ Library Collections Library ../../../04-CustomLibrary/Custometest/StringManipulation.py *** Keywords *** -Pages - [Arguments] - Menu administartion Accounts - sleep 2 +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 UserCreatePage [Arguments] ${name} ${username} ${accPasswd} ${Required_Password_Change} ${day} ${accEnable} ${role} @@ -34,10 +47,13 @@ UserCreatePage ... ELSE log 不开启密码过期验证 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 sleep 1 + Execute Javascript window.scrollTo(0, document.body.scrollHeight) + sleep 1 click element //span[.="${role}"] sleep 1 click button xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/button[1] - sleep 1 + Wait Until Element Is Enabled id=profilesTabs_Profile_ResponsePages 20 + UserEdit [Arguments] ${password} ${enable} Sleep 2 @@ -53,25 +69,69 @@ UserEdit sleep 1 click button xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/button[1] sleep 2 - -UserSearchName - [Arguments] ${name} ${type} - sleep 2 - Wait Until Page Contains 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 20 - 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 +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 + Wait Until Element Is Enabled xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[1]/div[2]/form/div[1]/div/div[1]/input 20 + 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} + + Login [Arguments] ${UserName} ${Password} Mouse Hover xpath=//*[@id="app"]/div/div[1]/div[2]/div/span/div/span @@ -116,6 +176,8 @@ TurnPage PagingDisplay [Arguments] ${Number} + [Documentation] + ... ${Number}: 设置页面显示数据条数 (20、5、30、50、100) 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 @@ -135,13 +197,55 @@ PagingDisplay sleep 1 ${quyu} Evaluate ${Quantity}%${Number} ${qumo} Evaluate ${Quantity}/${Number} - ${qumo} Evaluate int(${qumo}) + ${quzheng} Evaluate int(${qumo}) ${b} Set Variable ${1} ${Page1} Evaluate ${qumo}+${b} ${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} - - + +UserSearchName + [Arguments] ${name} ${type} + Wait Until Page Contains 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 20 + 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} + +RoleSearch + [Arguments] ${name} + [Documentation] Roles页面搜索功能 + ... ${name}:搜索条件name + Wait Until Page Contains 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 20 + 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 diff --git a/02-Keyword/tsg_ui/setting/Settings.robot b/02-Keyword/tsg_ui/setting/Settings.robot index 80669aa..e8e6011 100644 --- a/02-Keyword/tsg_ui/setting/Settings.robot +++ b/02-Keyword/tsg_ui/setting/Settings.robot @@ -22,7 +22,7 @@ ui-login Settings-Search [Arguments] ${value} ${search} - Wait Until Element Is Visible 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 20 + sleep 2 click 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 #判断是使用name搜索还是id搜索 @@ -624,7 +624,7 @@ CreateResponsePages Choose File xpath=//*[@id="policy_Manipulation_create6"]/div[2]/form/div[2]/div/div/div/input ${file} #上传文件 Sleep 2 click id=responseAddOk1 #点击OK缇交 - Wait Until Element Is Visible xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/span 30 + Wait Until Element Is Enabled xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/span 30 Settings-Search ${name} ${search} #搜索框的关键字 Sleep 1 ${text1} Get Text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/span #获取点击后页面文本信息 @@ -1101,7 +1101,7 @@ CreateSSLFingerprint ... AND input id=labels_describe ${Description} sleep 1 click id=authoritiesAdd_sub # 点击Ok按钮 - Wait Until Element Is Visible xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/div/div/span/div[2]/span 20 + Wait Until Element Is Enabled xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/div/div/span/div[2]/span 20 Settings-Search ${Ja3} ${search} ${text} Get Text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/div/div/span/div[2]/span ${text1} Get Text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[3]/div/div/div/p/span @@ -1137,7 +1137,7 @@ EditSSLFingerprint ... AND input id=labels_describe ${Description} sleep 1 click id=authoritiesAdd_sub - Wait Until Element Is Visible xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/div/div/span/div[2]/span 20 + Wait Until Element Is Enabled xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/div/div/span/div[2]/span 20 run keyword if "${search}"=="id" run keywords sleep 1 ... AND Settings-Search ${ID-Ja3} ${search} run keyword if "${search}"=="JA3Hash" run keywords sleep 1 @@ -1866,7 +1866,7 @@ CreateIpLibraries run keyword if "${Latitude}"!="null" Run Keywords input id=ip_geography_latitude ${Latitude} ... AND sleep 1 click id=IP_library_add - Wait Until Element Is Visible xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div 20 + Wait Until Element Is Enabled xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div 20 #验证新建是否成功 Switch_IP_Libraries ${type1} ${GeoNameID} ${GeoNameID} ${GeoNameText} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div @@ -1896,7 +1896,7 @@ EditIpLibraries run keyword if "${Latitude}"!="null" Run Keywords input id=ip_geography_latitude ${Latitude} ... AND sleep 1 click id=IP_library_add - Wait Until Element Is Visible xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div 20 + Wait Until Element Is Enabled xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div 20 #验证修改是否成功 Switch_IP_Libraries ${type} ${GeoNameID} ${GeoNameID} ${GeoNameText} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div @@ -2466,7 +2466,7 @@ DeletePacketCapture click id=packet_del sleep 2 click xpath=/html/body/div/div/div[3]/button[2] - Wait Until Element Is Visible xpath=/html/body/div[last()]/p 20 + Wait Until Element Is Enabled xpath=/html/body/div[last()]/p 20 Policy_Verify_Switch [Arguments] ${Protocol}