添加部分方法,以及修改设计脑图

This commit is contained in:
彭宇琦 2020-03-13 19:51:46 +08:00
parent 85f7826296
commit 7452bc619f
3 changed files with 359 additions and 277 deletions

View File

@ -2,405 +2,405 @@
<cases project='AddInformation'>
<case name='addTextboxCase'>
<steps>
<step id='1' value='不填写或只输入空格,点击“*{按钮名称}*”按钮'/>
<step id='2' value='填写特殊字符或HTML代码点击“*{按钮名称}*”按钮'/>
<step id='3' value='输入非*{输入限制}*,点击“*{按钮名称}*”按钮'/>
<step id='4' value='输入小于*{最短长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step id='5' value='输入*{最短长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step id='6' value='输入大于*{最长长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step id='7' value='输入*{最长长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step id='8' value='输入小于*{数字最小限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step id='9' value='输入*{数字最小限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step id='10' value='输入大于*{数字最大限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step id='11' value='输入*{数字最大限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step id='12' value='填写一个与*{信息}*中已存在相同关键词的*{控件名称}*信息,点击“*{按钮名称}*”按钮'/>
<step value='不填写或只输入空格,点击“*{按钮名称}*”按钮'/>
<step value='填写特殊字符或HTML代码点击“*{按钮名称}*”按钮'/>
<step value='输入非*{输入限制}*,点击“*{按钮名称}*”按钮'/>
<step value='输入小于*{最短长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step value='输入*{最短长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step value='输入大于*{最长长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step value='输入*{最长长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step value='输入小于*{数字最小限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step value='输入*{数字最小限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step value='输入大于*{数字最大限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step value='输入*{数字最大限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step value='填写一个与*{信息}*列表中已存在相同关键词的*{控件名称}*信息,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addSelectboxCase'>
<steps>
<step id='1' value='不进行选择或选择空选项,点击“*{按钮名称}*”按钮'/>
<step id='2' value='选择选项中的第一项,点击“*{按钮名称}*”按钮'/>
<step id='3' value='选择选项中的最后一项,点击“*{按钮名称}*”按钮'/>
<step value='不进行选择或选择空选项,点击“*{按钮名称}*”按钮'/>
<step value='选择选项中的第一项,点击“*{按钮名称}*”按钮'/>
<step value='选择选项中的最后一项,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addRadioButtonCase'>
<steps>
<step id='1' value='从第一个选项开始,将所有的选项依次点击'/>
<step id='2' value='不进行选择,点击“*{按钮名称}*”按钮'/>
<step id='3' value='选择选项中的第一项,点击“*{按钮名称}*”按钮'/>
<step id='4' value='选择选项中的最后一项,点击“*{按钮名称}*”按钮'/>
<step value='从第一个选项开始,将所有的选项依次点击'/>
<step value='不进行选择,点击“*{按钮名称}*”按钮'/>
<step value='选择选项中的第一项,点击“*{按钮名称}*”按钮'/>
<step value='选择选项中的最后一项,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except id='3' value='不会出现有两个或以上的选项被选中的情况'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='不会出现有两个或以上的选项被选中的情况'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addCheckboxCase'>
<steps>
<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 value='从第一个选项开始,依次点击所有的选项'/>
<step value='再次依次点击所有的选项'/>
<step value='不进行选择,点击“*{按钮名称}*”按钮'/>
<step value='选择选项中的第一项,点击“*{按钮名称}*”按钮'/>
<step value='选择选项中的最后一项,点击“*{按钮名称}*”按钮'/>
<step value='选择其中多个选项,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except id='3' value='所有的选项均被勾选'/>
<except id='4' value='所有的选项均被取消勾选'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='所有的选项均被勾选'/>
<except value='所有的选项均被取消勾选'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addDateCase'>
<steps>
<step id='1' value='不选择时间,点击“*{按钮名称}*”按钮'/>
<step id='2' value='选择当前的时间,点击“*{按钮名称}*”按钮'/>
<step id='3' value='选择时间后清空时间,点击“*{按钮名称}*”按钮'/>
<step id='4' value='手动输入正确格式的日期,点击“*{按钮名称}*”按钮'/>
<step id='5' value='手动输入非正确格式的日期,点击“*{按钮名称}*”按钮'/>
<step value='不选择时间,点击“*{按钮名称}*”按钮'/>
<step value='选择当前的时间,点击“*{按钮名称}*”按钮'/>
<step value='选择时间后清空时间,点击“*{按钮名称}*”按钮'/>
<step value='手动输入正确格式的日期,点击“*{按钮名称}*”按钮'/>
<step value='手动输入非正确格式的日期,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addStartDateCase'>
<steps>
<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='选择大于*{结束日期}*的日期,点击“*{按钮名称}*”按钮'/>
<step value='不选择时间,点击“*{按钮名称}*”按钮'/>
<step value='选择当前的时间,点击“*{按钮名称}*”按钮'/>
<step value='选择时间后清空时间,点击“*{按钮名称}*”按钮'/>
<step value='手动输入正确格式的日期,点击“*{按钮名称}*”按钮'/>
<step value='手动输入非正确格式的日期,点击“*{按钮名称}*”按钮'/>
<step value='输入或选择大于*{结束日期}*的日期,点击“*{按钮名称}*”按钮'/>
<step value='选择大于*{结束日期}*的日期,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addEndDateCase'>
<steps>
<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='选择小于*{开始日期}*的日期,点击“*{按钮名称}*”按钮'/>
<step value='不选择时间,点击“*{按钮名称}*”按钮'/>
<step value='选择当前的时间,点击“*{按钮名称}*”按钮'/>
<step value='选择时间后清空时间,点击“*{按钮名称}*”按钮'/>
<step value='手动输入正确格式的日期,点击“*{按钮名称}*”按钮'/>
<step value='手动输入非正确格式的日期,点击“*{按钮名称}*”按钮'/>
<step value='输入或选择小于*{开始日期}*的日期,点击“*{按钮名称}*”按钮'/>
<step value='选择小于*{开始日期}*的日期,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addPhoneCase'>
<steps>
<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='输入不符合规则但长度符合规则的数字,点击“*{按钮名称}*”按钮'/>
<step value='不进行输入,点击“*{按钮名称}*”按钮'/>
<step value='输入非数字字符,点击“*{按钮名称}*”按钮'/>
<step value='输入大于11位的数字点击“*{按钮名称}*”按钮'/>
<step value='输入小于11位的数字点击“*{按钮名称}*”按钮'/>
<step value='输入大于7位的数字点击“*{按钮名称}*”按钮'/>
<step value='输入小于7位的数字点击“*{按钮名称}*”按钮'/>
<step value='输入不符合规则但长度符合规则的数字,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addIDCardCase'>
<steps>
<step id='1' value='不进行输入,点击“*{按钮名称}*”按钮'/>
<step id='2' value='输入非数字字符,点击“*{按钮名称}*”按钮'/>
<step id='3' value='输入15位的证件信息点击“*{按钮名称}*”按钮'/>
<step id='4' value='输入18位的证件信息点击“*{按钮名称}*”按钮'/>
<step id='5' value='输入末尾带“X”或“x”的证件信息点击“*{按钮名称}*”按钮'/>
<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='输入存在的证件信息,点击“*{按钮名称}*”按钮'/>
<step value='不进行输入,点击“*{按钮名称}*”按钮'/>
<step value='输入非数字字符,点击“*{按钮名称}*”按钮'/>
<step value='输入15位的证件信息点击“*{按钮名称}*”按钮'/>
<step value='输入18位的证件信息点击“*{按钮名称}*”按钮'/>
<step value='输入末尾带“X”或“x”的证件信息点击“*{按钮名称}*”按钮'/>
<step value='输入大于18位的数字点击“*{按钮名称}*”按钮'/>
<step value='输入小于18位但大于15位的数字点击“*{按钮名称}*”按钮'/>
<step value='输入小于15位的数字点击“*{按钮名称}*”按钮'/>
<step value='输入不符合证件规则但长度符合规则的数字如123456789012345678点击“*{按钮名称}*”按钮'/>
<step value='输入存在的证件信息,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addUploadImageCase'>
<steps>
<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='*{操作名称}*小于*{文件最小个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step id='11' value='*{操作名称}**{文件最小个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step id='12' value='*{操作名称}*大于*{文件最大个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step id='13' value='*{操作名称}**{文件最大个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step value='不*{操作名称}*图片,点击“*{按钮名称}*”按钮'/>
<step value='上传图片后点击图片'/>
<step value='*{操作名称}*图片后删除图片再*{操作名称}*图片,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}*同一张图片,点击“*{按钮名称}*”按钮'/>
<step value='拍照后再取消拍照'/>
<step value='*{操作名称}*超过限制大小的图片,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}*较大的图片如超过3M的图片点击“*{按钮名称}*”按钮'/>
<step value='上传非*{文件限制}*格式的文件,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}*上传非图片格式的文件,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}*小于*{文件最小个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}**{文件最小个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}*大于*{文件最大个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}**{文件最大个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except id='3' value='图片能进行预览'/>
<except id='4' value='界面上不显示任何图片'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='图片能进行预览'/>
<except value='界面上不显示任何图片'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addUploadFileCase'>
<steps>
<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='*{操作名称}*小于*{文件最小个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step id='8' value='*{操作名称}**{文件最小个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step id='9' value='*{操作名称}*大于*{文件最大个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step id='10' value='*{操作名称}**{文件最大个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step value='不上传文件,点击“*{按钮名称}*”按钮'/>
<step value='上传文件后删除文件,再上传一个文件,点击“*{按钮名称}*”按钮'/>
<step value='上传同一个文件,点击“*{按钮名称}*”按钮'/>
<step value='上传超过限制大小的文件,点击“*{按钮名称}*”按钮'/>
<step value='上传较大的文件如超过50M的文件点击“*{按钮名称}*”按钮'/>
<step value='上传非*{文件限制}*格式的文件,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}*小于*{文件最小个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}**{文件最小个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}*大于*{文件最大个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
<step value='*{操作名称}**{文件最大个数}**{文件单位}**{文件类型}*,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addWholeInformationCase'>
<steps>
<step id='1' value='正确填写所有的信息,点击“*{按钮名称}*”按钮'/>
<step value='正确填写所有的信息,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
<case name='addUnWholeInformationCase'>
<steps>
<step id='1' value='不填写任何信息,点击“*{按钮名称}*”按钮'/>
<step id='2' value='只填写所有的必填项信息,点击“*{按钮名称}*”按钮'/>
<step id='3' value='只填写所有的非必填项信息,点击“*{按钮名称}*”按钮'/>
<step value='不填写任何信息,点击“*{按钮名称}*”按钮'/>
<step value='只填写所有的必填项信息,点击“*{按钮名称}*”按钮'/>
<step value='只填写所有的非必填项信息,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
<title value='新增不同*{控件名称}*的*{信息}*' />
</titles>
<preconditions>
<precondition id='1' value='已在新增*{信息}*的页面上' />
<precondition id='2' value='除*{控件名称}*外,其他信息均正确填写' />
<precondition value='已在新增*{信息}*的页面上' />
<precondition value='除*{控件名称}*外,其他信息均正确填写' />
</preconditions>
<ranks>
<rank id='1' value='1' />
<rank id='2' value='2' />
<rank id='3' value='3' />
<rank value='1' />
<rank value='2' />
<rank value='3' />
</ranks>
<keys>
<key id='1' value='*{控件名称}*、*{信息}*、新增' />
<key value='*{控件名称}*、*{信息}*、新增' />
</keys>
</case>
</cases>

View File

@ -1,6 +1,7 @@
package pres.auxiliary.work.n.tcase;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@ -83,9 +84,6 @@ public abstract class Case {
*/
@SuppressWarnings("unchecked")
public Case(File configXmlFile) {
//定义能获取到文本的属性以便于后续的调整
String textAttribute = "value";
// 判断传入的configurationFile是否为一个文件类对象若非文件类对象则抛出异常
try {
configXml = new SAXReader().read(configXmlFile);
@ -93,20 +91,8 @@ public abstract class Case {
throw new IncorrectFileException("用例xml文件有误" );
}
//获取xml中包含value的元素并将其中包含需要替换的词语存储至textMap\
List<Element> textElement = configXml.selectNodes("//*[@" + textAttribute + "]");
textElement.stream().
//获取元素的value属性将其转换为文本对象
map(e -> e.attributeValue(textAttribute)).
//筛选包含*{的文本
filter(e -> e.indexOf(START_SIGN) > -1).forEach(e -> {
//对文本按照*{切割并筛选包含}*的文本
Arrays.asList(e.split(START_SIGN_REGIX)).stream().filter(s -> s.indexOf(END_SIGN) > -1).
forEach(s -> {
//将需要存储的替换词语存入textMap中
textMap.put(s.substring(0, s.indexOf(END_SIGN)), "");
});
});
//查找并存储替换的词语
saveWord();
}
/**
@ -121,9 +107,9 @@ public abstract class Case {
* 根据调用方法的不同设置相应的步骤文本
* @param step 步骤文本
*/
void setStep(String[] step) {
this.step = step;
}
// void setStep(String[] step) {
// this.step = step;
// }
/**
* 返回预期文本
@ -137,9 +123,9 @@ public abstract class Case {
* 根据调用方法的不同设置相应的预期文本
* @param except 预期文本
*/
void setExcept(String[] except) {
this.except = except;
}
// void setExcept(String[] except) {
// this.except = except;
// }
/**
* 返回标题文本
@ -153,9 +139,9 @@ public abstract class Case {
* 根据调用方法的不同设置相应的标题文本
* @param title 标题文本
*/
void setTitle(String title) {
this.title = title;
}
// void setTitle(String title) {
// this.title = title;
// }
/**
* 返回关键词文本
@ -169,9 +155,9 @@ public abstract class Case {
* 根据调用方法的不同设置相应的关键词文本
* @param keyWord 关键词文本
*/
void setKeyWord(String keyWord) {
this.keyWord = keyWord;
}
// void setKeyWord(String keyWord) {
// this.keyWord = keyWord;
// }
/**
* 返回关键词文本
@ -185,9 +171,9 @@ public abstract class Case {
* 根据调用方法的不同设置相应的前置条件文本
* @param keyWord 前置条件文本
*/
void setPrecondition(String[] precondition) {
this.precondition = precondition;
}
// void setPrecondition(String[] precondition) {
// this.precondition = precondition;
// }
/**
* 返回优先级文本
@ -201,9 +187,9 @@ public abstract class Case {
* 根据调用方法的不同设置相应的优先级文本
* @param keyWord 优先级文本
*/
void setRank(int rank) {
this.rank = rank;
}
// void setRank(int rank) {
// this.rank = rank;
// }
/**
* 用于设置需要替换的词语
@ -219,6 +205,36 @@ public abstract class Case {
textMap.put(word, text);
}
/**
* 用于设置测试用例相应的所有信息
* @param title 标题
* @param step 步骤
* @param except 预期
* @param precondition 前置条件
* @param keyWord 关键词
* @param rank 优先级
*/
void setAllContent(String title, String[] step, String[] except, String[] precondition, String keyWord, int rank) {
this.step = step;
this.except = except;
this.title = title;
this.keyWord = keyWord;
this.precondition = precondition;
this.rank = rank;
}
/**
* 用于初始化所有的内容
*/
public void clearAllContent() {
step = null;
except = null;
title = "";
keyWord = "";
precondition = null;
rank = 1;
}
/**
* 用于替换文本中需要替换的单词返回替换后的文本
* @param text 需要替换的文本
@ -240,16 +256,18 @@ public abstract class Case {
}
/**
* 用于获取用例xml中对应用例的标签内的文本
* 用于获取用例xml中对应用例的标签内的文本并返回替换词语后的文本
* @param caseName 用例名称
* @param label 标签枚举
* @param id 对应标签的id属性
* @return 标签中存储的
* @return 标签中存储的文本并进行处理
*/
String getText(String caseName, LabelType label, int id) {
String getLabelText(String caseName, LabelType label, String id) {
//定位case标签的名称属性名
String caseLabelNameAttribute = "name";
//定位标签中能指向调用用例的属性id
String labelIdAttribute = "id";
//定位相应标签中存储用例内容的属性
String labelValueAttribute = "value";
//拼接xpath规则"//case[@name='caseName']//标签名称[@id='id']"
@ -261,11 +279,68 @@ public abstract class Case {
//获取相应的文本内容
Element textElement = (Element)(configXml.selectSingleNode(xpath));
//判断获取的内容是否为空为空则跑出异常
//判断集合是否存在元素若不存在元素则抛出异常
if (textElement == null) {
throw new LabelNotFoundException("不存在的标签:" + xpath);
throw new LabelNotFoundException("不存在的标签:<" + label.getName() + " " + labelIdAttribute + "='" + id +"'...>");
}
//返回相应的文本
//返回处理替换的单词后相应的文本若集合存在多个元素则只取第一个元素
return textElement.attributeValue(labelValueAttribute);
}
/**
* 用于获取用例xml中对应用例的标签内所有的文本并返回替换词语后的文本
* @param caseName 用例名称
* @param label 标签枚举
* @return 标签中存储的文本并进行处理
*/
@SuppressWarnings("unchecked")
String[] getAllLabelText(String caseName, LabelType label) {
//定位case标签的名称属性名
String caseLabelNameAttribute = "name";
//定位相应标签中存储用例内容的属性
String labelValueAttribute = "value";
//拼接xpath规则"//case[@name='caseName']//标签名称[@id='id']"
String xpath = "//" + LabelType.CASE.getName() +
"[@" + caseLabelNameAttribute + "='" +
caseName + "']//" + label.getName();
//获取所有的节点
List<Element> textElements = configXml.selectNodes(xpath);
//存储节点中的value属性内的文本
String[] texts = new String[textElements.size()];
//存储节点值
for (int i = 0; i < textElements.size(); i++) {
texts[i] = textElements.get(i).attributeValue(labelValueAttribute);
}
return texts;
}
/**
* 用于获取并存储需要替换的词语
*/
@SuppressWarnings("unchecked")
private void saveWord() {
//定义能获取到文本的属性以便于后续的调整
String textAttribute = "value";
//获取xml中包含value的元素并将其中包含需要替换的词语存储至textMap\
List<Element> textElement = configXml.selectNodes("//*[@" + textAttribute + "]");
textElement.stream().
//获取元素的value属性将其转换为文本对象
map(e -> e.attributeValue(textAttribute)).
//筛选包含*{的文本
filter(e -> e.indexOf(START_SIGN) > -1).forEach(e -> {
//对文本按照*{切割并筛选包含}*的文本
Arrays.asList(e.split(START_SIGN_REGIX)).stream().filter(s -> s.indexOf(END_SIGN) > -1).
forEach(s -> {
//将需要存储的替换词语存入textMap中
textMap.put(s.substring(0, s.indexOf(END_SIGN)), "");
});
});
}
}

View File

@ -80,32 +80,39 @@ public class InformationCase extends Case {
* @return Tab对象
* @throws IOException
*/
// public Case addWholeInformationCase() throws IOException {
// // 存储方法名
// String methodName = "addWholeInformationCase";
// // 存储需要使用的变量
// textMap.put("buttonName", getButtonName());
// // 用于存储读取测试用例的id号
// ArrayList<Integer> l = new ArrayList<>();
//
// // 清空步骤与预期中存储的信息
// //st.delete(0, st.length());
// ex.delete(0, ex.length());
//
// // 用于存储步骤数
// int step = 1;
//
// // 添加步骤
// l.add(1);
//// st.append(step + ".正确填写所有的信息,点击“" + getButtonName() + "”按钮\r\n");
// ex.append(step++ + "." + successExpectation.toString() + "\r\n");
//
// // 将ArrayList转换成数组
// int[] id = new int[l.size()];
// for (int i = 0; i < l.size(); i++) {
// id[i] = l.get(i);
// }
// return after(("添加信息完整的" + getInformationName()), new StringBuilder(getStep(methodName, id)[0]), ex, ("信息完整," + getInformationName()), 1,
// getPrecondition());
// }
public Case addWholeInformationCase() throws IOException {
// 存储case标签的name属性内容
String caseName = "addWholeInformationCase";
//存储标题信息
String title = replaceText(getText(caseName, LabelType.TITLE, 1));
//存储步骤信息
ArrayList<String> step = new ArrayList<>();
// 存储需要使用的变量
textMap.put("buttonName", getButtonName());
// 用于存储读取测试用例的id号
ArrayList<Integer> l = new ArrayList<>();
// 清空步骤与预期中存储的信息
//st.delete(0, st.length());
ex.delete(0, ex.length());
// 用于存储步骤数
int step = 1;
// 添加步骤
l.add(1);
// st.append(step + ".正确填写所有的信息,点击“" + getButtonName() + "”按钮\r\n");
ex.append(step++ + "." + successExpectation.toString() + "\r\n");
// 将ArrayList转换成数组
int[] id = new int[l.size()];
for (int i = 0; i < l.size(); i++) {
id[i] = l.get(i);
}
return after(("添加信息完整的" + getInformationName()), new StringBuilder(getStep(methodName, id)[0]), ex, ("信息完整," + getInformationName()), 1,
getPrecondition());
}
}