From c089d9ca2db821bf3a841f9d635b499efeed27df Mon Sep 17 00:00:00 2001 From: byb11 Date: Fri, 5 Feb 2021 15:08:14 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=A1=A5=E5=85=85SNAT=20IP=20Pools=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B=20=202.=E4=BF=AE=E6=94=B9=E6=96=B0?= =?UTF-8?q?=E5=A2=9ESNAT=20IP=20Pools=20=E7=9B=B8=E5=85=B3=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tsg_ui/ui_settings/SNATIPPoolsCase.robot | 131 +++++++++++++----- 02-Keyword/tsg_ui/setting/Settings.robot | 64 ++++++++- 2 files changed, 157 insertions(+), 38 deletions(-) diff --git a/01-TestCase/tsg_ui/ui_settings/SNATIPPoolsCase.robot b/01-TestCase/tsg_ui/ui_settings/SNATIPPoolsCase.robot index 29389d9..4428647 100644 --- a/01-TestCase/tsg_ui/ui_settings/SNATIPPoolsCase.robot +++ b/01-TestCase/tsg_ui/ui_settings/SNATIPPoolsCase.robot @@ -4,39 +4,28 @@ Resource ../../../03-Variable/bifangapivariable.txt Resource ../../../02-Keyword/tsg_ui/setting/Settings.robot Library OperatingSystem *** Test Cases *** -CreateSNATIPPools - [Tags] PositiveTestCase Settings SNATIPPools +CreateSNATIPPoolsEnter + [Tags] Positive UI Settings SNATIPPools ${iplist} create list 192.168.50.35 192.168.50.34 - CreateSNATIPPools SNAT_IP_Pools_Create-001 1 ${iplist} j=2 - SNATIPDelete SNAT_IP_Pools_Create-001 Name + CreateSNATIPPools ${TEST NAME} 1 ${iplist} j=2 + SNATIPDelete ${TEST NAME} Name -CreateSNATIPPoolsNameMinSize - [Tags] PositiveTestCase name Settings SNATIPPools - ${iplist} create list 192.168.50.35 192.168.50.34 - CreateSNATIPPools 1 1 ${iplist} j=2 - SNATIPDelete 1 Name - -CreateSNATIPPoolsNameMaxSize - [Tags] PositiveTestCase name Settings SNATIPPools - ${iplist} create list 192.168.50.35 192.168.50.34 - CreateSNATIPPools CreateSNATIPPoolsNameMaxSizeCreateSNATIPPoolsNameMaxSizeCreateSN 1 ${iplist} j=2 - SNATIPDelete CreateSNATIPPoolsNameMaxSizeCreateSNATIPPoolsNameMaxSizeCreateSN Name - -CreateSNATIPPoolsHistoryActiveIPAdd - [Tags] PositiveTestCase Settings SNATIPPools - ${iplist} create list 192.168.50.34 - CreateSNATIPPools CreateSNATIPPoolsHistoryActiveIPAdd 2 ${iplist} - SNATIPDelete CreateSNATIPPoolsHistoryActiveIPAdd Name +CreateSNATIPPoolsHistoryActiveIP + [Tags] Positive UI Settings SNATIPPools + ${ip}= SearchHistoryActiveIP 1 + ${iplist} create list ${ip} + CreateSNATIPPools ${TEST NAME} 2 ${iplist} + SNATIPDelete ${TEST NAME} Name EditSNATIPPoolsName - [Tags] PositiveTestCase name Settings SNATIPPools + [Tags] Positive name Settings SNATIPPools ${iplist} create list 192.168.50.35 CreateSNATIPPools SNAT_IP_Pools_Create-001 1 ${iplist} - EditSNATIPPools SNAT_IP_Pools_Create-001 Name EditSNATIPPoolsSName null - SNATIPDelete EditSNATIPPoolsSName Name + EditSNATIPPools SNAT_IP_Pools_Create-001 Name ${TEST NAME} null + SNATIPDelete ${TEST NAME} Name EditSNATIPPoolsEditIP - [Tags] PositiveTestCase IP Settings SNATIPPools + [Tags] Positive IP Settings SNATIPPools ${iplist} create list 192.168.50.35 CreateSNATIPPools SNAT_IP_Pools_Create-001 1 ${iplist} ${iplist2} create list 192.168.50.34 @@ -44,7 +33,7 @@ EditSNATIPPoolsEditIP SNATIPDelete EditSNATIPPoolsEditIP Name EditSNATIPPoolsAddIP - [Tags] PositiveTestCase IP Settings SNATIPPools + [Tags] Positive IP Settings SNATIPPools ${iplist} create list 192.168.50.35 CreateSNATIPPools SNAT_IP_Pools_Create-001 1 ${iplist} ${iplist2} create list 192.168.50.34 @@ -52,7 +41,7 @@ EditSNATIPPoolsAddIP SNATIPDelete EditSNATIPPoolsAddIP Name EditSNATIPPoolsReplaceIP - [Tags] PositiveTestCase IP Settings SNATIPPools + [Tags] Positive IP Settings SNATIPPools ${iplist} create list 192.168.50.35 CreateSNATIPPools SNAT_IP_Pools_Create-001 1 ${iplist} ${iplist2} create list 192.168.50.34 @@ -60,16 +49,94 @@ EditSNATIPPoolsReplaceIP SNATIPDelete EditSNATIPPoolsReplaceIP Name SNATIPPoolsSearchID - [Tags] PositiveTestCase ID Settings SNATIPPools + [Tags] Positive ID Settings SNATIPPools ${iplist} create list 192.168.50.35 CreateSNATIPPools SNAT_IP_Pools_Create-001 1 ${iplist} ${text} Get text xpath=//*[@id="wannat-table"]/div[3]/table/tbody/tr[1]/td[1]/div/div/span - EditSNATIPPools ${text} ID EditSNATIPPoolsReplaceIP null SNATIPDelete ${text} ID SNATIPPoolsSearchIP - [Tags] PositiveTestCase IP Settings SNATIPPools + [Tags] Positive IP Settings SNATIPPools ${iplist} create list 192.168.50.35 CreateSNATIPPools SNAT_IP_Pools_Create-001 1 ${iplist} - EditSNATIPPools 192.168.50.35 IP EditSNATIPPoolsReplaceIP null - SNATIPDelete 192.168.50.35 IP \ No newline at end of file + SNATIPDelete 192.168.50.35 IP + +SNATIPPoolsViewMembers + [Tags] Positive IP Settings SNATIPPools + ${iplist} create list 192.168.50.35 + CreateSNATIPPools ${TEST NAME} 1 ${iplist} + sleep 1 + click xpath=//*[@id="wannat-table"]/div[3]/table/tbody/tr[1]/td[4]/div/div/div/span + sleep 2 + ${text} get text xpath=//*[@id="wannat-table"]/div[3]/table/tbody/tr[1]/td[4]/div/div/div/span/span + click id=interceptionadd_allcancelobject6 + sleep 1 + SNATIPDelete 192.168.50.35 IP + Should Be Equal As Strings ${text} 192.168.50.35 + +SNATIPPoolsTurnPage + [Tags] Positive IP Settings SNATIPPools + OpenPages sidebarSetting_Wannat ip + TurnPage //*[@id="ly-table1-listcontent"]/div[2]/div/div/button[2] //*[@id="ly-table1-listcontent"]/div[2]/div/div/button[1] //*[@id="ly-table1-listcontent"]/div[2]/div/div/span[2]/div/input + ... 2 //*[@id="wannat-table"]/div[3]/table/tbody/tr[1]/td[1]/div/div/span 1 //*[@id="ly-table1-listcontent"]/div[2]/div/div/ul/li[last()] + +SNATIPPools + [Tags] Positive IP Settings SNATIPPools + OpenPages sidebarSetting_Wannat ip + PagingDisplay_One 50 + +CreateSNATIPPoolsNameMinSize + [Tags] Boundary UI name Settings SNATIPPools + ${iplist} create list 192.168.50.35 + CreateSNATIPPools 1 1 ${iplist} + SNATIPDelete 1 Name + +CreateSNATIPPoolsNameMaxSize + [Tags] Boundary UI name Settings SNATIPPools + ${iplist} create list 192.168.50.35 + CreateSNATIPPools CreateSNATIPPoolsNameMaxSizeCreateSNATIPPoolsNameMaxSizeCreateSN 1 ${iplist} + SNATIPDelete CreateSNATIPPoolsNameMaxSizeCreateSNATIPPoolsNameMaxSizeCreateSN Name + +CreateSNATIPPoolsNameSpecialChar + [Tags] Boundary UI name Settings SNATIPPools + ${iplist} create list 192.168.50.35 + CreateSNATIPPools 中文+absc+моряков+@#¥%……&* 1 ${iplist} + SNATIPDelete 中文+absc+моряков+@#¥%……&* Name + +CreateSNATIPPoolsNameNull + [Tags] Negtive UI Settings SNATIPPools + OpenPages sidebarSetting_Wannat ip + click id=app_create + sleep 1 + click id=wanAdd_ok + sleep 1 + ${text} Get Text xpath=//*[@id="wannat_vpn_color"]/form/div[1]/div/div[2] + Should Be Equal As Strings ${text} This item is required + +CreateSNATIPPoolsIpFormatError + [Tags] Negtive UI Settings SNATIPPools + OpenPages sidebarSetting_Wannat ip + click id=app_create + sleep 1 + click id=temporary_form #点击添加ip的加号 + sleep 2 + input xpath=//*[@id="wannat_vpn_color"]/form/div[3]/div/div/div[2]/div[1]/div/div/div[1]/div[1]/div/div[2]/div/input 192.168.50.256 + sleep 1 + click id=wanAdd_ok + sleep 1 + ${text} get text xpath=//*[@id="wannat_vpn_color"]/form/div[3]/div/div/div[2]/div[1]/div/div/div[2] + Should Be Equal As Strings ${text} Please enter the correct ip address + +CreateSNATIPPoolsNoReachabilityTest + [Tags] Negtive UI Settings SNATIPPools + OpenPages sidebarSetting_Wannat ip + click id=app_create + sleep 1 + click id=temporary_form #点击添加ip的加号 + sleep 2 + input xpath=//*[@id="wannat_vpn_color"]/form/div[3]/div/div/div[2]/div[1]/div/div/div[1]/div[1]/div/div[2]/div/input 192.168.50.25 + sleep 1 + click id=wanAdd_ok + sleep 1 + ${text} get text xpath=/html/body/div[last()]/p + Should Be Equal As Strings ${text} Manually add data, and reachability test is required \ No newline at end of file diff --git a/02-Keyword/tsg_ui/setting/Settings.robot b/02-Keyword/tsg_ui/setting/Settings.robot index adb9359..a48ddc0 100644 --- a/02-Keyword/tsg_ui/setting/Settings.robot +++ b/02-Keyword/tsg_ui/setting/Settings.robot @@ -2,6 +2,7 @@ Library Selenium2Library Library ../../../04-CustomLibrary/Custometest/Common.py Library DatabaseLibrary +Library ../../../04-CustomLibrary/Custometest/StringManipulation.py *** Keywords *** click [Arguments] ${element} @@ -78,6 +79,7 @@ CreateSNATIPPools click id=app_create #点击新建按钮 sleep 1 input xpath=//*[@id="wannat_vpn_color"]/form/div[1]/div/div/div[1]/input ${name} #输入name + sleep 1 #判断是手动输入还是搜索添加,type=1为手动输入,type=2为搜索添加 run keyword if "${type}"=="1" run keywords sleep 1 ... AND click id=temporary_form #点击添加ip的加号 @@ -100,7 +102,7 @@ CreateSNATIPPools ... AND click id=wan_reach_test #点击可达性测试按钮 sleep 1 click id=wanAdd_ok #点击ok - sleep 2 + Wait Until Element Is Enabled id=app_create 20 ${status} Run Keyword And Return Status Page Should Contain Go to #判断页面是否包含该文本 Should Be Equal As Strings ${status} True #断言 @@ -145,7 +147,7 @@ EditSNATIPPools SANTIPIF [Arguments] ${j} ${ip} - #多个ip添加 + #多个ip添加 run keyword if "${j}"!="1" SNATIPRangeCreate ${j} ${ip} SANTIPIF1 @@ -174,7 +176,7 @@ SNATIPRangeCreate sleep 1 click id=temporary_form sleep 2 - input id=statusInputedit ${ip}[${i}] + input xpath=//*[@id="wannat_vpn_color"]/form/div[3]/div/div/div[2]/div[1]/div[last()]/div/div[1]/div[1]/div/div[2]/div/input ${ip}[${i}] sleep 1 END @@ -207,6 +209,21 @@ SNATIPDelete click xpath=/html/body/div/div/div[3]/button[2] sleep 2 +SearchHistoryActiveIP + [Arguments] ${Number} + # 获取History Active IP内存在的IP并返回 + OpenPages sidebarSetting_Wannat ip + click id=app_create + sleep 1 + click id=active-ip + sleep 1 + input text xpath=//*[@id="remoteInput"]/div/div/input 192.168.50 + sleep 1 + press keys xpath=//*[@id="remoteInput"]/div/div/input ENTER + sleep 2 + ${ip1} get text xpath=//*[@id="wannat_vpn_color"]/div[1]/div/div/div/div[2]/div[3]/div[2]/div/div[3]/table/tbody/tr[${Number}]/td[1]/div/span/div[2] + [Return] ${ip1} + CreateVPNAccounts [Arguments] ${name} ${passwd} ${search} Sleep 1 @@ -2224,7 +2241,7 @@ OpenPages sleep 2 TurnPage - [Arguments] ${NextPage} ${PreviousPage} ${JumpInput} ${pages} ${AssertXpath} + [Arguments] ${NextPage} ${PreviousPage} ${JumpInput} ${pages} ${AssertXpath} ${lastpage}=null ${lastxpath}=null [Documentation] ... ${NextPage} 下一页按钮定位 ... ${PreviousPage} 上一页按钮定位 @@ -2244,13 +2261,48 @@ TurnPage press keys xpath=${JumpInput} ENTER sleep 2 ${text4} get text xpath=${AssertXpath} - click xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[last()]/div/ul/li[last()] - sleep 2 + run keyword if "${lastpage}" == "null" run keyowrds sleep 1 + ... AND click xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[last()]/div/ul/li[last()] + ... ELSE click xpath=${lastxpath} + 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_One + [Arguments] ${Number} + [Documentation] + ... ${Number}: 设置页面显示数据条数 (20、5、30、50、100) + ... ${last} 次关键字 当最后一页定位和其他页面不同时,传入非null的值 + ... ${lastxpath} 当最后一页定位和其他页面不同时,传入最后一页的xpath 定位 + Mouse Over xpath=//*[@id="ly-table1-listcontent"]/div[2]/div/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="ly-table1-listcontent"]/div[2]/div/div/span[1] + sleep 1 + ${Quantity} StringSegmentation ${text} + sleep 1 + ${quyu} Evaluate ${Quantity}%${Number} + ${qumo} Evaluate ${Quantity}/${Number} + ${quzheng} Evaluate int(${qumo}) + ${b} Set Variable ${1} + ${Page1} Evaluate ${quzheng}+${b} + ${Page} Set Variable if "${qumo}" != "0" ${Page1} ${qumo} + sleep 1 + ${text} Get text xpath=//*[@id="ly-table1-listcontent"]/div[2]/div/div/ul/li[last()] + Should Be Equal As Strings ${text} ${Page} ALL [Arguments]