diff --git a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/AddInformation.xml b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/AddInformation.xml index ccd1782..803d5af 100644 --- a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/AddInformation.xml +++ b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/AddInformation.xml @@ -1,186 +1,406 @@ - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + + + + + + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addSelectboxCase"> + <case name='addSelectboxCase'> <steps> - <step id="1" value="不进行选择或选择空选项,点击“*{buttonName}*”按钮"/> - <step id="2" value="选择选项中的第一项,点击“*{buttonName}*”按钮"/> - <step id="3" value="选择选项中的最后一项,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓嶈繘琛岄夋嫨鎴栭夋嫨绌洪夐」锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='閫夋嫨閫夐」涓殑绗竴椤癸紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='閫夋嫨閫夐」涓殑鏈鍚庝竴椤癸紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectationss> - </expectationss> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addRadioButtonCase"> + <case name='addRadioButtonCase'> <steps> - <step id="1" value="从第一个选项开始,将所有的选项依次点击"/> - <step id="2" value="不进行选择,点击“*{buttonName}*”按钮"/> - <step id="3" value="选择选项中的第一项,点击“*{buttonName}*”按钮"/> - <step id="4" value="选择选项中的最后一项,点击“*{buttonName}*”按钮"/> + <step id='1' value='浠庣涓涓夐」寮濮嬶紝灏嗘墍鏈夌殑閫夐」渚濇鐐瑰嚮'/> + <step id='2' value='涓嶈繘琛岄夋嫨锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='閫夋嫨閫夐」涓殑绗竴椤癸紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='閫夋嫨閫夐」涓殑鏈鍚庝竴椤癸紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - <expectation id="1" value="不会出现有两个或以上的选项被选中的情况"/> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + <except id='3' value='涓嶄細鍑虹幇鏈変袱涓垨浠ヤ笂鐨勯夐」琚変腑鐨勬儏鍐'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addCheckboxCase"> + <case name='addCheckboxCase'> <steps> - <step id="1" value="从第一个选项开始,依次点击所有的选项"/> - <step id="2" value="再次依次点击所有的选项"/> - <step id="3" value="不进行选择,点击“*{buttonName}*”按钮"/> - <step id="4" value="选择选项中的第一项,点击“*{buttonName}*”按钮"/> - <step id="5" value="选择选项中的最后一项,点击“*{buttonName}*”按钮"/> - <step id="6" value="选择其中多个选项,点击“*{buttonName}*”按钮"/> + <step id='1' value='浠庣涓涓夐」寮濮嬶紝渚濇鐐瑰嚮鎵鏈夌殑閫夐」'/> + <step id='2' value='鍐嶆渚濇鐐瑰嚮鎵鏈夌殑閫夐」'/> + <step id='3' value='涓嶈繘琛岄夋嫨锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='閫夋嫨閫夐」涓殑绗竴椤癸紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='5' value='閫夋嫨閫夐」涓殑鏈鍚庝竴椤癸紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='6' value='閫夋嫨鍏朵腑澶氫釜閫夐」锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - <expectation id="1" value="所有的选项均被勾选"/> - <expectation id="2" value="所有的选项均被取消勾选"/> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + <except id='3' value='鎵鏈夌殑閫夐」鍧囪鍕鹃'/> + <except id='4' value='鎵鏈夌殑閫夐」鍧囪鍙栨秷鍕鹃'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addDateCase"> + <case name='addDateCase'> <steps> - <step id="1" value="不选择时间,点击“*{buttonName}*”按钮"/> - <step id="2" value="选择当前的时间,点击“*{buttonName}*”按钮"/> - <step id="3" value="选择时间后清空时间,点击“*{buttonName}*”按钮"/> - <step id="4" value="手动输入正确格式的日期,点击“*{buttonName}*”按钮"/> - <step id="5" value="手动输入非正确格式的日期,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓嶉夋嫨鏃堕棿锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='閫夋嫨褰撳墠鐨勬椂闂达紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='閫夋嫨鏃堕棿鍚庢竻绌烘椂闂达紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='鎵嬪姩杈撳叆姝g‘鏍煎紡鐨勬棩鏈燂紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='5' value='鎵嬪姩杈撳叆闈炴纭牸寮忕殑鏃ユ湡锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addStartDateCase"> + <case name='addStartDateCase'> <steps> - <step id="1" value="不选择时间,点击“*{buttonName}*”按钮"/> - <step id="2" value="选择当前的时间,点击“*{buttonName}*”按钮"/> - <step id="3" value="选择时间后清空时间,点击“*{buttonName}*”按钮"/> - <step id="4" value="手动输入正确格式的日期,点击“*{buttonName}*”按钮"/> - <step id="5" value="手动输入非正确格式的日期,点击“*{buttonName}*”按钮"/> - <step id="6" value="输入或选择大于*{endDateName}*的日期,点击“*{buttonName}*”按钮"/> - <step id="7" value="选择大于*{endDateName}*的日期,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓嶉夋嫨鏃堕棿锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='閫夋嫨褰撳墠鐨勬椂闂达紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='閫夋嫨鏃堕棿鍚庢竻绌烘椂闂达紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='鎵嬪姩杈撳叆姝g‘鏍煎紡鐨勬棩鏈燂紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='5' value='鎵嬪姩杈撳叆闈炴纭牸寮忕殑鏃ユ湡锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='6' value='杈撳叆鎴栭夋嫨澶т簬*{缁撴潫鏃ユ湡}*鐨勬棩鏈燂紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='7' value='閫夋嫨澶т簬*{缁撴潫鏃ユ湡}*鐨勬棩鏈燂紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addEndDateCase"> + <case name='addEndDateCase'> <steps> - <step id="1" value="不选择时间,点击“*{buttonName}*”按钮"/> - <step id="2" value="选择当前的时间,点击“*{buttonName}*”按钮"/> - <step id="3" value="选择时间后清空时间,点击“*{buttonName}*”按钮"/> - <step id="4" value="手动输入正确格式的日期,点击“*{buttonName}*”按钮"/> - <step id="5" value="手动输入非正确格式的日期,点击“*{buttonName}*”按钮"/> - <step id="6" value="输入或选择小于*{startDateName}*的日期,点击“*{buttonName}*”按钮"/> - <step id="7" value="选择小于*{startDateName}*的日期,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓嶉夋嫨鏃堕棿锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='閫夋嫨褰撳墠鐨勬椂闂达紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='閫夋嫨鏃堕棿鍚庢竻绌烘椂闂达紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='鎵嬪姩杈撳叆姝g‘鏍煎紡鐨勬棩鏈燂紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='5' value='鎵嬪姩杈撳叆闈炴纭牸寮忕殑鏃ユ湡锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='6' value='杈撳叆鎴栭夋嫨灏忎簬*{寮濮嬫棩鏈焳*鐨勬棩鏈燂紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='7' value='閫夋嫨灏忎簬*{寮濮嬫棩鏈焳*鐨勬棩鏈燂紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addPhoneCase"> + <case name='addPhoneCase'> <steps> - <step id="1" value="不进行输入,点击“*{buttonName}*”按钮"/> - <step id="2" value="输入非数字字符,点击“*{buttonName}*”按钮"/> - <step id="3" value="输入大于11位的数字,点击“*{buttonName}*”按钮"/> - <step id="4" value="输入小于11位的数字,点击“*{buttonName}*”按钮"/> - <step id="5" value="输入大于7位的数字,点击“*{buttonName}*”按钮"/> - <step id="6" value="输入小于7位的数字,点击“*{buttonName}*”按钮"/> - <step id="7" value="输入不符合规则但长度符合规则的数字,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓嶈繘琛岃緭鍏ワ紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='杈撳叆闈炴暟瀛楀瓧绗︼紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='杈撳叆澶т簬11浣嶇殑鏁板瓧锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='杈撳叆灏忎簬11浣嶇殑鏁板瓧锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='5' value='杈撳叆澶т簬7浣嶇殑鏁板瓧锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='6' value='杈撳叆灏忎簬7浣嶇殑鏁板瓧锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='7' value='杈撳叆涓嶇鍚堣鍒欎絾闀垮害绗﹀悎瑙勫垯鐨勬暟瀛楋紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addIDCardCase"> + <case name='addIDCardCase'> <steps> - <step id="1" value="不进行输入,点击“*{buttonName}*”按钮"/> - <step id="2" value="输入非数字字符,点击“*{buttonName}*”按钮"/> - <step id="3" value="输入15位的证件信息,点击“*{buttonName}*”按钮"/> - <step id="4" value="输入18位的证件信息,点击“*{buttonName}*”按钮"/> - <step id="5" value="输入末尾带“X”或“x”的证件信息,点击“*{buttonName}*”按钮"/> - <step id="6" value="输入大于18位的数字,点击“*{buttonName}*”按钮"/> - <step id="7" value="输入小于18位但大于15位的数字,点击“*{buttonName}*”按钮"/> - <step id="8" value="输入小于15位的数字,点击“*{buttonName}*”按钮"/> - <step id="9" value="输入不符合证件规则但长度符合规则的数字(如123456789012345678),点击“*{buttonName}*”按钮"/> - <step id="10" value="输入存在的证件信息,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓嶈繘琛岃緭鍏ワ紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='杈撳叆闈炴暟瀛楀瓧绗︼紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='杈撳叆15浣嶇殑璇佷欢淇℃伅锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='杈撳叆18浣嶇殑璇佷欢淇℃伅锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='5' value='杈撳叆鏈熬甯︹淴鈥濇垨鈥渪鈥濈殑璇佷欢淇℃伅锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='6' value='杈撳叆澶т簬18浣嶇殑鏁板瓧锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='7' value='杈撳叆灏忎簬18浣嶄絾澶т簬15浣嶇殑鏁板瓧锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='8' value='杈撳叆灏忎簬15浣嶇殑鏁板瓧锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='9' value='杈撳叆涓嶇鍚堣瘉浠惰鍒欎絾闀垮害绗﹀悎瑙勫垯鐨勬暟瀛楋紙濡123456789012345678锛夛紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='10' value='杈撳叆瀛樺湪鐨勮瘉浠朵俊鎭紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addUploadImageCase"> + <case name='addUploadImageCase'> <steps> - <step id="1" value="不*{text}*图片,点击“*{buttonName}*”按钮"/> - <step id="2" value="上传图片后点击图片"/> - <step id="3" value="*{text}*图片后删除图片再*{text}*图片,点击“*{buttonName}*”按钮"/> - <step id="4" value="*{text}*同一张图片,点击“*{buttonName}*”按钮"/> - <step id="5" value="拍照后再取消拍照"/> - <step id="6" value="*{text}*超过限制大小的图片,点击“*{buttonName}*”按钮"/> - <step id="7" value="*{text}*较大的图片(如超过3M的图片),点击“*{buttonName}*”按钮"/> - <step id="8" value="上传非*{fileGroup}*格式的文件,点击“*{buttonName}*”按钮"/> - <step id="9" value="*{text}*上传非图片格式的文件,点击“*{buttonName}*”按钮"/> - <step id="10" value="*{text}*小于*{fileMin}**{s}**{mode}*,点击“*{buttonName}*”按钮"/> - <step id="11" value="*{text}**{fileMin}**{s}**{mode}*,点击“*{buttonName}*”按钮"/> - <step id="12" value="*{text}*大于*{fileMax}**{s}**{mode}*,点击“*{buttonName}*”按钮"/> - <step id="13" value="*{text}**{fileMax}**{s}**{mode}*,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓*{鎿嶄綔鍚嶇О}*鍥剧墖锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='涓婁紶鍥剧墖鍚庣偣鍑诲浘鐗'/> + <step id='3' value='*{鎿嶄綔鍚嶇О}*鍥剧墖鍚庡垹闄ゅ浘鐗囧啀*{鎿嶄綔鍚嶇О}*鍥剧墖锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='*{鎿嶄綔鍚嶇О}*鍚屼竴寮犲浘鐗囷紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='5' value='鎷嶇収鍚庡啀鍙栨秷鎷嶇収'/> + <step id='6' value='*{鎿嶄綔鍚嶇О}*瓒呰繃闄愬埗澶у皬鐨勫浘鐗囷紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='7' value='*{鎿嶄綔鍚嶇О}*杈冨ぇ鐨勫浘鐗囷紙濡傝秴杩3M鐨勫浘鐗囷級锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='8' value='涓婁紶闈*{鏂囦欢闄愬埗}*鏍煎紡鐨勬枃浠讹紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='9' value='*{鎿嶄綔鍚嶇О}*涓婁紶闈炲浘鐗囨牸寮忕殑鏂囦欢锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='10' value='*{鎿嶄綔鍚嶇О}*灏忎簬*{fileMin}**{s}**{mode}*锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='11' value='*{鎿嶄綔鍚嶇О}**{fileMin}**{s}**{mode}*锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='12' value='*{鎿嶄綔鍚嶇О}*澶т簬*{fileMax}**{s}**{mode}*锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='13' value='*{鎿嶄綔鍚嶇О}**{fileMax}**{s}**{mode}*锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - <expectation id="2" value="图片能进行预览"/> - <expectation id="5" value="界面上不显示任何图片"/> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + <except id='3' value='鍥剧墖鑳借繘琛岄瑙'/> + <except id='4' value='鐣岄潰涓婁笉鏄剧ず浠讳綍鍥剧墖'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addUploadFileCase"> + <case name='addUploadFileCase'> <steps> - <step id="1" value="不上传文件,点击“*{buttonName}*”按钮"/> - <step id="2" value="上传文件后删除图片再上传一个文件,点击“*{buttonName}*”按钮"/> - <step id="3" value="上传同一个文件,点击“*{buttonName}*”按钮"/> - <step id="4" value="上传超过限制大小的文件,点击“*{buttonName}*”按钮"/> - <step id="5" value="上传较大的文件(如超过50M的文件),点击“*{buttonName}*”按钮"/> - <step id="6" value="上传非*{fileGroup}*格式的文件,点击“*{buttonName}*”按钮"/> - <step id="7" value="*{text}*小于*{fileMin}**{s}**{mode}*,点击“*{buttonName}*”按钮"/> - <step id="8" value="*{text}**{fileMin}**{s}**{mode}*,点击“*{buttonName}*”按钮"/> - <step id="9" value="*{text}*大于*{fileMax}**{s}**{mode}*,点击“*{buttonName}*”按钮"/> - <step id="10" value="*{text}**{fileMax}**{s}**{mode}*,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓嶄笂浼犳枃浠讹紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='涓婁紶鏂囦欢鍚庡垹闄ゅ浘鐗囧啀涓婁紶涓涓枃浠讹紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='涓婁紶鍚屼竴涓枃浠讹紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='4' value='涓婁紶瓒呰繃闄愬埗澶у皬鐨勬枃浠讹紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='5' value='涓婁紶杈冨ぇ鐨勬枃浠讹紙濡傝秴杩50M鐨勬枃浠讹級锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='6' value='涓婁紶闈*{鏂囦欢闄愬埗}*鏍煎紡鐨勬枃浠讹紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='7' value='*{鎿嶄綔鍚嶇О}*灏忎簬*{fileMin}**{s}**{mode}*锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='8' value='*{鎿嶄綔鍚嶇О}**{fileMin}**{s}**{mode}*锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='9' value='*{鎿嶄綔鍚嶇О}*澶т簬*{fileMax}**{s}**{mode}*锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='10' value='*{鎿嶄綔鍚嶇О}**{fileMax}**{s}**{mode}*锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addWholeInformationCase"> + <case name='addWholeInformationCase'> <steps> - <step id="1" value="正确填写所有的信息,点击“*{buttonName}*”按钮"/> + <step id='1' value='姝g‘濉啓鎵鏈夌殑淇℃伅锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> - <case function="addUnWholeInformationCase"> + <case name='addUnWholeInformationCase'> <steps> - <step id="1" value="不填写任何信息,点击“*{buttonName}*”按钮"/> - <step id="2" value="只填写所有的必填项信息,点击“*{buttonName}*”按钮"/> - <step id="3" value="只填写所有的非必填项信息,点击“*{buttonName}*”按钮"/> + <step id='1' value='涓嶅~鍐欎换浣曚俊鎭紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='2' value='鍙~鍐欐墍鏈夌殑蹇呭~椤逛俊鎭紝鐐瑰嚮鈥*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> + <step id='3' value='鍙~鍐欐墍鏈夌殑闈炲繀濉」淇℃伅锛岀偣鍑烩*{鎸夐挳鍚嶇О}*鈥濇寜閽'/> </steps> - <expectations> - </expectations> + <excepts> + <except id='1' value='*{鎴愬姛棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓鎴愬姛锛岀晫闈㈣繑鍥炲埌鍒楄〃椤碉紝鍏*{淇℃伅}*鍒楄〃涓婃樉绀烘柊澧炵殑淇℃伅*{鎴愬姛棰勬湡鍚庢枃}*'/> + <except id='2' value='*{澶辫触棰勬湡鍓嶆枃}**{淇℃伅}*鍒涘缓澶辫触锛屽苟缁欏嚭鐩稿簲鐨勬彁绀*{澶辫触棰勬湡鍚庢枃}*'/> + </excepts> + <titles> + <title id='1' value='鏂板涓嶅悓*{鎺т欢鍚嶇О}*鐨*{淇℃伅}*' /> + </titles> + <preconditions> + <precondition id='1' value='宸插湪鏂板*{淇℃伅}*鐨勯〉闈笂' /> + <precondition id='2' value='闄*{鎺т欢鍚嶇О}*澶栵紝鍏朵粬淇℃伅鍧囨纭~鍐' /> + </preconditions> + <ranks> + <rank id='1' value='1' /> + <rank id='2' value='2' /> + <rank id='3' value='3' /> + </ranks> + <keys> + <key id='1' value='*{鎺т欢鍚嶇О}*銆*{淇℃伅}*銆佹柊澧' /> + </keys> </case> </cases> \ No newline at end of file diff --git a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/BrowseList.xml b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/BrowseList.xml index 3636769..1df5308 100644 --- a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/BrowseList.xml +++ b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/BrowseList.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="GBK"?> <cases project="BrowseList"> - <case function="addAppBrowseListCase"> + <case name="addAppBrowseListCase"> <title value="浏览*{name}*列表" /> <keyword value="*{name}*列表,刷新,加载" /> <rank value="1" /> @@ -23,7 +23,7 @@ </expectations> </case> - <case function="addWebBrowseListCase"> + <case name="addWebBrowseListCase"> <title value="浏览*{name}*列表" /> <keyword value="*{name}*列表,刷新,加载" /> <rank value="1" /> @@ -48,7 +48,7 @@ </expectations> </case> - <case function="addInputSearchCase"> + <case name="addInputSearchCase"> <title value="通过*{condition}*对*{information}*进行搜索" /> <keyword value="*{information}*列表,搜索" /> <rank value="1" /> @@ -69,7 +69,7 @@ </expectations> </case> - <case function="addSelectSearchCase"> + <case name="addSelectSearchCase"> <title value="通过*{condition}*对*{information}*进行搜索" /> <keyword value="*{information}*列表,搜索" /> <rank value="1" /> @@ -92,7 +92,7 @@ </expectations> </case> - <case function="addDateSearchCase"> + <case name="addDateSearchCase"> <title value="通过*{condition}*对*{information}*进行搜索" /> <keyword value="*{information}*列表,搜索" /> <rank value="1" /> @@ -117,7 +117,7 @@ </expectations> </case> - <case function="addListSortCase"> + <case name="addListSortCase"> <title value="对*{information}*列表按照*{condition}*进行排序" /> <keyword value="*{information}*列表,排序" /> <rank value="1" /> @@ -136,7 +136,7 @@ </expectations> </case> - <case function="addExportListCase"> + <case name="addExportListCase"> <title value="导出*{information}*列表的数据" /> <keyword value="*{information}*列表,导出" /> <rank value="1" /> @@ -159,7 +159,7 @@ </expectations> </case> - <case function="addImportListCase"> + <case name="addImportListCase"> <title value="导入*{information}*列表的数据" /> <keyword value="*{information}*列表,导入" /> <rank value="1" /> @@ -177,7 +177,7 @@ </expectations> </case> - <case function="addResetSearchCase"> + <case name="addResetSearchCase"> <title value="重置搜索" /> <keyword value="重置,搜索" /> <rank value="1" /> @@ -192,7 +192,7 @@ </expectations> </case> - <case function="addSwitchListShowDataCase"> + <case name="addSwitchListShowDataCase"> <title value="修改列表每页显示的数据量" /> <keyword value="切换,数据量" /> <rank value="1" /> diff --git a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Map.xml b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Map.xml index 23f2aaa..5088915 100644 --- a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Map.xml +++ b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Map.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="GBK"?> <cases project="Map"> - <case function="addRangeFindingCase"> + <case name="addRangeFindingCase"> <title value="在地图上进行测距" /> <keyword value="地图,测距" /> <rank value="3" /> @@ -26,7 +26,7 @@ </expectations> </case> - <case function="addMapPointCase"> + <case name="addMapPointCase"> <title value="查看地图*{pointName}*定位点信息" /> <keyword value="地图,*{pointName}*,定位点" /> <rank value="2" /> @@ -43,7 +43,7 @@ </expectations> </case> - <case function="addMapSearchInformationCase"> + <case name="addMapSearchInformationCase"> <title value="通过*{condition}*在地图上搜索*{name}*信息" /> <keyword value="地图,*{name}*,搜索" /> <rank value="1" /> @@ -64,7 +64,7 @@ </expectations> </case> - <case function="addCarLocusPlaybackCase"> + <case name="addCarLocusPlaybackCase"> <title value="回放车辆轨迹" /> <keyword value="车辆轨迹" /> <rank value="1" /> @@ -87,7 +87,7 @@ </expectations> </case> - <case function="addShowLocusCase"> + <case name="addShowLocusCase"> <title value="地图上显示车辆轨迹点" /> <keyword value="车辆轨迹" /> <rank value="1" /> diff --git a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Username.xml b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Username.xml index 9a6c1c3..6395db6 100644 --- a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Username.xml +++ b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Username.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="GBK"?> <cases project="Username"> - <case function="addRightLoginCase"> + <case name="addRightLoginCase"> <title value="通过正确的用户名与密码进行登录" /> <keyword value="正确的,用户名,密码,登录" /> <rank value="1" /> @@ -14,7 +14,7 @@ </expectations> </case> - <case function="addErrorLoginCase"> + <case name="addErrorLoginCase"> <title value="通过非常规的用户名与密码进行登录" /> <keyword value="不正确的,用户名,密码,登录" /> <rank value="2" /> @@ -36,7 +36,7 @@ </expectations> </case> - <case function="addCaptchaCase"> + <case name="addCaptchaCase"> <title value="输入不同的验证码进行登录" /> <keyword value="验证码,登录" /> <rank value="1" /> @@ -55,7 +55,7 @@ </expectations> </case> - <case function="addLoginAuthorityCase"> + <case name="addLoginAuthorityCase"> <title value="通过不同权限的帐号进行登录" /> <keyword value="权限,登录" /> <rank value="1" /> @@ -72,7 +72,7 @@ </expectations> </case> - <case function="addUsernameRegisterCase"> + <case name="addUsernameRegisterCase"> <title value="注册不同用户名的账号" /> <keyword value="用户名,注册" /> <rank value="1" /> @@ -100,7 +100,7 @@ </expectations> </case> - <case function="addUsernameForgetCase"> + <case name="addUsernameForgetCase"> <title value="通过不同用户名的账号进行忘记密码操作" /> <keyword value="用户名,忘记密码" /> <rank value="1" /> @@ -122,7 +122,7 @@ </expectations> </case> - <case function="addPasswordRegisterOrForgetCase"> + <case name="addPasswordRegisterOrForgetCase"> <title value="通过不同的密码进行*{operation}*操作" /> <keyword value="密码,*{operation}*" /> <rank value="1" /> @@ -146,7 +146,7 @@ </expectations> </case> - <case function="addCodeRegisterOrForgetCase"> + <case name="addCodeRegisterOrForgetCase"> <title value="通过不同的验证码进行*{operation}*操作" /> <keyword value="验证码,*{operation}*" /> <rank value="1" /> @@ -172,7 +172,7 @@ </expectations> </case> - <case function="addAlterPasswordCase"> + <case name="addAlterPasswordCase"> <title value="修改用户密码" /> <keyword value="修改,密码" /> <rank value="1" /> diff --git a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Video.xml b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Video.xml index 29017d0..a6f9598 100644 --- a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Video.xml +++ b/ConfigurationFiles/CaseConfigurationFile/CaseTemplet/Video.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="GBK"?> <cases project="Video"> - <case function="addPlayVideoCase"> + <case name="addPlayVideoCase"> <title value="播放/暂停*{videoType}*" /> <keyword value="播放/暂停" /> <rank value="1" /> @@ -24,7 +24,7 @@ </expectations> </case> - <case function="addVideoScreenshotCase"> + <case name="addVideoScreenshotCase"> <title value="对*{videoType}*进行截图" /> <keyword value="*{videoType}*,截图" /> <rank value="2" /> @@ -44,7 +44,7 @@ </expectations> </case> - <case function="addVideoAdvanceCase"> + <case name="addVideoAdvanceCase"> <title value="快进/快退*{videoType}*" /> <keyword value="*{videoType}*,快进,快退" /> <rank value="2" /> @@ -76,7 +76,7 @@ </expectations> </case> - <case function="addVideoSpeedCase"> + <case name="addVideoSpeedCase"> <title value="快放/慢放*{videoType}*" /> <keyword value="*{videoType}*,快放,慢放" /> <rank value="2" /> @@ -96,7 +96,7 @@ </expectations> </case> - <case function="addVideoProgressBarCase"> + <case name="addVideoProgressBarCase"> <title value="拖动进度条" /> <keyword value="进度条" /> <rank value="2" /> @@ -117,7 +117,7 @@ </expectations> </case> - <case function="addFullScreenPlayCase"> + <case name="addFullScreenPlayCase"> <title value="全屏播放*{videoType}*" /> <keyword value="全屏*{videoType}*" /> <rank value="2" /> diff --git a/ConfigurationFiles/CaseConfigurationFile/CaseTemplet.xml b/ConfigurationFiles/CaseConfigurationFile/FileTemplet/CaseTemplet.xml similarity index 100% rename from ConfigurationFiles/CaseConfigurationFile/CaseTemplet.xml rename to ConfigurationFiles/CaseConfigurationFile/FileTemplet/CaseTemplet.xml diff --git a/ConfigurationFiles/NewCaseConfigurationFile/jira娴嬭瘯鐢ㄤ緥瀵煎叆妯℃澘.xml b/ConfigurationFiles/CaseConfigurationFile/FileTemplet/jira娴嬭瘯鐢ㄤ緥瀵煎叆妯℃澘.xml similarity index 100% rename from ConfigurationFiles/NewCaseConfigurationFile/jira娴嬭瘯鐢ㄤ緥瀵煎叆妯℃澘.xml rename to ConfigurationFiles/CaseConfigurationFile/FileTemplet/jira娴嬭瘯鐢ㄤ緥瀵煎叆妯℃澘.xml diff --git a/src/main/java/pres/auxiliary/work/n/tcase/AbstractCase.java b/src/main/java/pres/auxiliary/work/n/tcase/AbstractCase.java deleted file mode 100644 index 16cfaf0..0000000 --- a/src/main/java/pres/auxiliary/work/n/tcase/AbstractCase.java +++ /dev/null @@ -1,5 +0,0 @@ -package pres.auxiliary.work.n.tcase; - -public abstract class AbstractCase { - -} diff --git a/src/main/java/pres/auxiliary/work/n/tcase/Case.java b/src/main/java/pres/auxiliary/work/n/tcase/Case.java new file mode 100644 index 0000000..f1055ed --- /dev/null +++ b/src/main/java/pres/auxiliary/work/n/tcase/Case.java @@ -0,0 +1,233 @@ +package pres.auxiliary.work.n.tcase; + +import java.io.File; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; + +/** + * <p><b>鏂囦欢鍚嶏細</b>AbstractCase.java</p> + * <p><b>鐢ㄩ旓細</b>瀹氫箟娴嬭瘯鐢ㄤ緥妯℃澘绫昏兘杩斿洖鐨勫熀鏈瓧娈碉紝鎻愪緵鍏剁浉搴旂殑get涓巗et鏂规硶锛屼絾璇ユ柟娉曚笉鍏佽鍖呭璋冪敤</p> + * <p><b>缂栫爜鏃堕棿锛</b>2020骞3鏈3鏃ヤ笅鍗8:07:23</p> + * <p><b>淇敼鏃堕棿锛</b>2020骞3鏈4鏃 07:39:23</p> + * @author 褰畤鐞 + * @version Ver1.0 + * @since JDK 12 + * + */ +public abstract class Case { + + /** + * 姝ラ + */ + private String[] step; + + /** + * 棰勬湡 + */ + private String[] except; + + /** + * 鏍囬 + */ + private String title; + + /** + * 鍏抽敭璇 + */ + private String keyWord; + + /** + * 鍓嶇疆鏉′欢 + */ + private String[] precondition; + + /** + * 鐢ㄤ簬瀛樺偍闇瑕佹浛鎹㈢殑璇嶈鐨勫紑濮嬫爣璁 + */ + final String START_SIGN = "*{"; + /** + * 鐢ㄤ簬瀛樺偍闇瑕佹浛鎹㈢殑璇嶈鐨勭粨鏉熸爣璁 + */ + final String END_SIGN = "}*"; + + /** + * 浼樺厛绾 + */ + private int rank; + + /** + * 鐢ㄤ簬鎸囧悜娴嬭瘯鐢ㄤ緥xml鏂囦欢鐨凞ocument瀵硅薄 + */ + Document configXml; + + /** + * 瀛樺偍xml鏂囦欢涓叾闇瑕佹浛鎹㈢殑璇嶈 + */ + HashMap<String, String> textMap = new HashMap<String, String>(); + + /** + * 鏍规嵁鐢ㄤ緥xml鏂囦欢鏉ユ瀯閫燙ase绫 + * @param configXmlFile xml閰嶇疆鏂囦欢 + * @throws IncorrectFileException 鏂囦欢鏍煎紡鎴栬矾寰勪笉姝g‘鏃舵姏鍑虹殑寮傚父 + */ + @SuppressWarnings("unchecked") + public Case(File configXmlFile) { + // 鍒ゆ柇浼犲叆鐨刢onfigurationFile鏄惁涓轰竴涓枃浠剁被瀵硅薄锛岃嫢闈炴枃浠剁被瀵硅薄锛屽垯鎶涘嚭寮傚父 + try { + configXml = new SAXReader().read(configXmlFile); + } catch (DocumentException e) { + throw new IncorrectFileException("鐢ㄤ緥xml鏂囦欢鏈夎" ); + } + + //鑾峰彇xml涓寘鍚玽alue鐨勫厓绱狅紝骞跺皢鍏朵腑鍖呭惈闇瑕佹浛鎹㈢殑璇嶈瀛樺偍鑷硉extMap\ + List<Element> textElement = configXml.selectNodes("//*[@value]"); + textElement.stream(). + //鑾峰彇鍏冪礌鐨剉alue灞炴э紝灏嗗叾杞崲涓烘枃鏈璞 + map(e -> e.attributeValue("value")). + //绛涢夊寘鍚*{鐨勬枃鏈 + filter(e -> e.indexOf("*{") > -1).forEach(e -> { + //瀵规枃鏈寜鐓*{鍒囧壊锛屽苟绛涢夊寘鍚珆*鐨勬枃鏈 + Arrays.asList(e.split("\\*\\{")).stream().filter(s -> s.indexOf("}*") > -1). + forEach(s -> { + //灏嗛渶瑕佸瓨鍌ㄧ殑鏇挎崲璇嶈瀛樺叆textMap涓 + textMap.put(s.substring(0, s.indexOf("}*")), ""); + }); + }); + } + + /** + * 杩斿洖姝ラ鏂囨湰 + * @return 姝ラ鏂囨湰 + */ + public String[] getStep() { + return step; + } + + /** + * 鏍规嵁璋冪敤鏂规硶鐨勪笉鍚岃缃浉搴旂殑姝ラ鏂囨湰 + * @param step 姝ラ鏂囨湰 + */ + void setStep(String[] step) { + this.step = step; + } + + /** + * 杩斿洖棰勬湡鏂囨湰 + * @return 棰勬湡鏂囨湰 + */ + public String[] getExcept() { + return except; + } + + /** + * 鏍规嵁璋冪敤鏂规硶鐨勪笉鍚岃缃浉搴旂殑棰勬湡鏂囨湰 + * @param except 棰勬湡鏂囨湰 + */ + void setExcept(String[] except) { + this.except = except; + } + + /** + * 杩斿洖鏍囬鏂囨湰 + * @return 鏍囬鏂囨湰 + */ + public String getTitle() { + return title; + } + + /** + * 鏍规嵁璋冪敤鏂规硶鐨勪笉鍚岃缃浉搴旂殑鏍囬鏂囨湰 + * @param title 鏍囬鏂囨湰 + */ + void setTitle(String title) { + this.title = title; + } + + /** + * 杩斿洖鍏抽敭璇嶆枃鏈 + * @return 鍏抽敭璇嶆枃鏈 + */ + public String getKeyWord() { + return keyWord; + } + + /** + * 鏍规嵁璋冪敤鏂规硶鐨勪笉鍚岃缃浉搴旂殑鍏抽敭璇嶆枃鏈 + * @param keyWord 鍏抽敭璇嶆枃鏈 + */ + void setKeyWord(String keyWord) { + this.keyWord = keyWord; + } + + /** + * 杩斿洖鍏抽敭璇嶆枃鏈 + * @return 鍏抽敭璇嶆枃鏈 + */ + public String[] getPrecondition() { + return precondition; + } + + /** + * 鏍规嵁璋冪敤鏂规硶鐨勪笉鍚岃缃浉搴旂殑鍓嶇疆鏉′欢鏂囨湰 + * @param keyWord 鍓嶇疆鏉′欢鏂囨湰 + */ + void setPrecondition(String[] precondition) { + this.precondition = precondition; + } + + /** + * 杩斿洖浼樺厛绾ф枃鏈 + * @return 浼樺厛绾ф枃鏈 + */ + public int getRank() { + return rank; + } + + /** + * 鏍规嵁璋冪敤鏂规硶鐨勪笉鍚岃缃浉搴旂殑浼樺厛绾ф枃鏈 + * @param keyWord 浼樺厛绾ф枃鏈 + */ + void setRank(int rank) { + this.rank = rank; + } + + /** + * 鐢ㄤ簬璁剧疆闇瑕佹浛鎹㈢殑璇嶈 + * @param word 娴嬭瘯鐢ㄤ緥xml搴撲腑闇瑕佹浛鎹㈢殑璇嶈 + * @param value 琚浛鎹㈢殑璇嶈 + */ + public void setReplaceWord(String word, String value) { + //鍒ゆ柇璇ヨ瘝璇槸鍚﹀瓨鍦ㄤ簬textMap涓紝鑻ヤ笉瀛樺湪锛屽垯鎶涘嚭寮傚父 + if (!textMap.containsKey(word)) { + throw new IncorrectFileException("鏈壘鍒伴渶瑕佹浛鎹㈢殑璇嶈锛" + word); + } + //瀛樺偍鏇挎崲鐨勮瘝璇 + textMap.put(word, value); + } + + /** + * 鐢ㄤ簬鏇挎崲鏂囨湰涓渶瑕佹浛鎹㈢殑鍗曡瘝锛岃繑鍥炴浛鎹㈠悗鐨勬枃鏈 + * @param text 闇瑕佹浛鎹㈢殑鏂囨湰 + * @return 鏇挎崲鍚庣殑鏂囨湰 + */ + String replaceText(String text) { + StringBuilder sb = new StringBuilder(text); + //瀛樺偍鏇挎崲绗︾殑浣嶇疆 + int index = 0; + //寰幆锛屾浛鎹ontent涓墍鏈夐渶瑕佹浛鎹㈢殑淇℃伅 + while( (index = sb.indexOf(START_SIGN)) != -1 ) { + //瀛樺偍寰呮浛鎹㈢殑鍙橀噺鍚 + String var = sb.substring(index + START_SIGN.length(), sb.indexOf(END_SIGN)); + //鏇挎崲璇ュ彉閲忓悕 + sb.replace(index, sb.indexOf(END_SIGN) + END_SIGN.length(), textMap.get(var)); + } + + return sb.toString(); + } +} diff --git a/src/main/java/pres/auxiliary/work/n/tcase/DataListCase.java b/src/main/java/pres/auxiliary/work/n/tcase/DataListCase.java new file mode 100644 index 0000000..452689d --- /dev/null +++ b/src/main/java/pres/auxiliary/work/n/tcase/DataListCase.java @@ -0,0 +1,15 @@ +package pres.auxiliary.work.n.tcase; + +/** + * <p><b>鏂囦欢鍚嶏細</b>DataListCase.java</p> + * <p><b>鐢ㄩ旓細</b>鐢ㄤ簬鐢熸垚鏁版嵁鍒楄〃鐩稿叧鐨勬祴璇曠敤渚</p> + * <p><b>缂栫爜鏃堕棿锛</b>2020骞3鏈3鏃ヤ笅鍗8:25:33</p> + * <p><b>淇敼鏃堕棿锛</b>2020骞3鏈3鏃ヤ笅鍗8:25:33</p> + * @author + * @version Ver1.0 + * @since JDK 12 + * + */ +public class DataListCase extends Case { + +} diff --git a/src/main/java/pres/auxiliary/work/n/tcase/InformationCase.java b/src/main/java/pres/auxiliary/work/n/tcase/InformationCase.java new file mode 100644 index 0000000..63ada04 --- /dev/null +++ b/src/main/java/pres/auxiliary/work/n/tcase/InformationCase.java @@ -0,0 +1,27 @@ +package pres.auxiliary.work.n.tcase; + +import java.io.File; +import java.util.HashMap; + +/** + * <p><b>鏂囦欢鍚嶏細</b>InformationCase.java</p> + * <p><b>鐢ㄩ旓細</b>鐢ㄤ簬杈撳嚭涓庨〉闈㈡柊澧炴垨缂栬緫淇℃伅鐩稿叧鐨勭敤渚</p> + * <p><b>缂栫爜鏃堕棿锛</b>2020骞3鏈5鏃ヤ笂鍗8:30:12</p> + * <p><b>淇敼鏃堕棿锛</b>2020骞3鏈5鏃ヤ笂鍗8:30:12</p> + * @author 褰畤鐞 + * @version Ver1.0 + * @since JDK 12 + */ +public class InformationCase extends Case { + + /** + * 閫氳繃娴嬭瘯鐢ㄤ緥妯℃澘搴撶殑xml閰嶇疆鏂囦欢鏉ユ瀯閫營nformationCase瀵硅薄 + * @param configXmlFile 鐢ㄤ緥妯℃澘搴撶殑xml鏂囦欢瀵硅薄 + */ + public InformationCase(File configXmlFile) { + super(configXmlFile); + } + + + +} diff --git a/src/main/java/pres/auxiliary/work/n/tcase/WriteTestCase.java b/src/main/java/pres/auxiliary/work/n/tcase/WriteTestCase.java index df7cc5a..70f87e2 100644 --- a/src/main/java/pres/auxiliary/work/n/tcase/WriteTestCase.java +++ b/src/main/java/pres/auxiliary/work/n/tcase/WriteTestCase.java @@ -43,7 +43,7 @@ import org.dom4j.io.SAXReader; * <b>缂栫爜鏃堕棿锛</b>2020骞2鏈17鏃ヤ笅鍗9:36:00 * </p> * <p> - * <b>淇敼鏃堕棿锛</b>2020骞2鏈17鏃ヤ笅鍗9:36:00 + * <b>淇敼鏃堕棿锛</b>2020骞3鏈3鏃ヤ笅鍗8:07:23 * </p> * * @author 褰畤鐞 @@ -107,19 +107,16 @@ public class WriteTestCase { * 鍙瓨鍦ㄤ竴涓猻heet鏍囩鏃讹紝鍒欑洿鎺ヨ幏鍙栧叾瀵瑰簲sheet涓嬫墍鏈塩olumn鏍囩鐨刬d灞炴э紱鑻ュ瓨鍦 * 澶氫釜sheet鏍囩鏃讹紝鍒欒鍙栫涓涓猻heet鏍囩锛屽闇鍒囨崲sheet鏍囩锛屽垯鍙皟鐢▄@link #switchSheet(String)} 鏂规硶銆 * - * @param configurationFile 娴嬭瘯鏂囦欢妯℃澘xml閰嶇疆鏂囦欢绫诲璞 + * @param configFile 娴嬭瘯鏂囦欢妯℃澘xml閰嶇疆鏂囦欢绫诲璞 * @param caseFile 娴嬭瘯鐢ㄤ緥鏂囦欢绫诲璞 - * @throws DocumentException xml鏂囦欢鍐呭涓嶆纭椂鎶涘嚭鐨勫紓甯 * @throws IncorrectFileException 鏂囦欢鏍煎紡鎴栬矾寰勪笉姝g‘鏃舵姏鍑虹殑寮傚父 */ - public WriteTestCase(File configurationFile, File caseFile) throws DocumentException { - // 鍒ゆ柇浼犲叆鐨刢onfigurationFile鏄惁涓轰竴涓枃浠剁被瀵硅薄锛岃嫢闈炴枃浠剁被瀵硅薄锛屽垯鎶涘嚭寮傚父锛坕sFile()鏂规硶鍖呭惈鍒ゆ柇鏂囦欢鏄惁瀛樺湪锛 - // 鍐嶅垽鏂枃浠舵槸鍚﹀寘鍚枃浠惰矾寰勬槸鍚﹀寘鍚.xml鈥 - if (configurationFile.isFile() && configurationFile.getAbsolutePath().indexOf(".xml") > -1) { - // 璇诲彇xml鏂囦欢鐨勪俊鎭 - configXml = new SAXReader().read(configurationFile); - } else { - throw new IncorrectFileException("涓嶆纭殑鏂囦欢鏍煎紡锛" + configurationFile.getAbsolutePath()); + public WriteTestCase(File configFile, File caseFile) { + // 鍒ゆ柇浼犲叆鐨刢onfigurationFile鏄惁涓轰竴涓枃浠剁被瀵硅薄锛岃嫢闈炴枃浠剁被瀵硅薄锛屽垯鎶涘嚭寮傚父 + try { + configXml = new SAXReader().read(configFile); + } catch (DocumentException e) { + throw new IncorrectFileException("鐢ㄤ緥xml鏂囦欢鏈夎" ); } // 鑾峰彇xml鏂囦欢涓殑绗竴涓猻heet鏍囩锛屽垯灏嗚鏍囩鐨刵ame灞炴у唴瀹逛紶鍏etColumnId涓