添加单选、多选、日期用例

This commit is contained in:
彭宇琦 2020-03-17 21:14:16 +08:00
parent 34c56e663f
commit 1dfd94e886
4 changed files with 500 additions and 86 deletions

View File

@ -1,10 +1,38 @@
<?xml version='1.0' encoding='UTF-8'?>
<cases project='AddInformation'>
<case name='addTextboxCase'>
<case name='textboxBasicCase'>
<steps>
<step id='1' value='不填写或只输入空格,点击“*{按钮名称}*”按钮'/>
<step id='2' value='填写特殊字符或HTML代码点击“*{按钮名称}*”按钮'/>
<step id='3' value='输入非*{输入限制}*字符,点击“*{按钮名称}*”按钮'/>
<step id='12' value='填写一个与*{信息}*列表中已存在相同关键词的*{控件名称}*信息,点击“*{按钮名称}*”按钮'/>
<step id='13' value='填写*{控件名称}*信息后点击清空按钮,再点击“*{按钮名称}*”按钮'/>
</steps>
<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 name='addTextboxCase'>
<steps>
<step id='4' value='输入小于*{最短长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step id='5' value='输入*{最短长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
<step id='6' value='输入大于*{最长长度限制}*个字符,点击“*{按钮名称}*”按钮'/>
@ -13,8 +41,6 @@
<step id='9' value='输入数字*{数字最小限制}*,点击“*{按钮名称}*”按钮'/>
<step id='10' value='输入大于*{数字最大限制}*的数字,点击“*{按钮名称}*”按钮'/>
<step id='11' value='输入数字*{数字最大限制}*,点击“*{按钮名称}*”按钮'/>
<step id='12' value='填写一个与*{信息}*列表中已存在相同关键词的*{控件名称}*信息,点击“*{按钮名称}*”按钮'/>
<step id='13' value='填写*{控件名称}*信息后点击清空按钮,再点击“*{按钮名称}*”按钮'/>
<step id='14' value='输入大于*{小数位数}*位小数位的数字,点击“*{按钮名称}*”按钮'/>
<step id='15' value='输入等于*{小数位数}*位小数位的数字,点击“*{按钮名称}*”按钮'/>
<step id='16' value='输入整数,点击“*{按钮名称}*”按钮'/>
@ -46,13 +72,16 @@
<case name='addSelectboxCase'>
<steps>
<step id='1' value='不进行选择或选择空选项,点击“*{按钮名称}*”按钮'/>
<step id='2' value='选择选项中的第一项,点击“*{按钮名称}*”按钮'/>
<step id='1' value='选择空选项,点击“*{按钮名称}*”按钮'/>
<step id='2' value='选择选项中的第一项有效的选项,点击“*{按钮名称}*”按钮'/>
<step id='3' value='选择选项中的最后一项,点击“*{按钮名称}*”按钮'/>
<step id='4' value='选择选项后,点击清除按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except id='3' value='选项变为默认选项或第一个选项'/>
<except id='4' value='选项变为空选项'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
@ -74,14 +103,16 @@
<case name='addRadioButtonCase'>
<steps>
<step id='1' value='从第一个选项开始,将所有的选项依次点击'/>
<step id='2' value='不进行选择,点击“*{按钮名称}*”按钮'/>
<step id='2' value='不进行选择(不改变默认选项),点击“*{按钮名称}*”按钮'/>
<step id='3' value='选择选项中的第一项,点击“*{按钮名称}*”按钮'/>
<step id='4' value='选择选项中的最后一项,点击“*{按钮名称}*”按钮'/>
<step id='5' value='查看*{控件名称}*选项'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
<except id='3' value='不会出现有两个或以上的选项被选中的情况'/>
<except id='4' value='*{控件名称}*选项应有一个默认选项'/>
</excepts>
<titles>
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
@ -133,35 +164,6 @@
</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='手动输入非正确格式的日期,点击“*{按钮名称}*”按钮'/>
</steps>
<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 name='addStartDateCase'>
<steps>
<step id='1' value='不选择时间,点击“*{按钮名称}*”按钮'/>
<step id='2' value='选择当前的时间,点击“*{按钮名称}*”按钮'/>
@ -170,37 +172,8 @@
<step id='5' value='手动输入非正确格式的日期,点击“*{按钮名称}*”按钮'/>
<step id='6' value='输入或选择大于*{结束日期}*的日期,点击“*{按钮名称}*”按钮'/>
<step id='7' value='选择大于*{结束日期}*的日期,点击“*{按钮名称}*”按钮'/>
</steps>
<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 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 id='8' value='输入或选择小于*{开始日期}*的日期,点击“*{按钮名称}*”按钮'/>
<step id='9' value='选择小于*{开始日期}*的日期,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
@ -225,13 +198,12 @@
<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 id='1' value='输入座机区位号 + “-”符号 + 正确座机号后,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
@ -256,8 +228,6 @@
<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”的证件信息点击“*{按钮名称}*”按钮'/>
@ -265,7 +235,6 @@
<step id='7' value='输入小于18位但大于15位的数字点击“*{按钮名称}*”按钮'/>
<step id='8' value='输入小于15位的数字点击“*{按钮名称}*”按钮'/>
<step id='9' value='输入不符合证件规则但长度符合规则的数字如123456789012345678点击“*{按钮名称}*”按钮'/>
<step id='10' value='输入存在的证件信息,点击“*{按钮名称}*”按钮'/>
</steps>
<excepts>
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>

View File

@ -146,7 +146,7 @@ public class InformationCase extends Case {
/**
* 用于生成普通文本框测试用例
* @param name 文本框名称控件名称
* @param name 控件名称
* @param isMust 是否必填
* @param isRepeat 是否可以与存在的内容重复
* @param isClear 是否有按钮可以清空文本框
@ -166,7 +166,7 @@ public class InformationCase extends Case {
//----------------------------------------------------------------
//存储步骤与预期信息
textboxCommonCase(caseName, isMust, isRepeat, isClear, inputRuleTypes);
textboxCommonCase(isMust, isRepeat, isClear, inputRuleTypes);
//----------------------------------------------------------------
@ -191,7 +191,7 @@ public class InformationCase extends Case {
* 2.输入长度限制为最多输入10个字符时addLengthRuleTextboxCase(..., 0, 10, ...)<br>
* 3.输入长度限制为最少输入2个字符时addLengthRuleTextboxCase(..., 2, 0, ...)<br>
* 注意若两个参数传入一样且都不为0则等价于第2中情况若两个参数都小于等于0时则抛出异常
* @param name 文本框名称控件名称
* @param name 控件名称
* @param isMust 是否必填
* @param isRepeat 是否可以与存在的内容重复
* @param isClear 是否有按钮可以清空文本框
@ -215,7 +215,7 @@ public class InformationCase extends Case {
//----------------------------------------------------------------------
//存储步骤与预期信息
//添加通用用例
textboxCommonCase(caseName, isMust, isRepeat, isClear, inputRuleTypes);
textboxCommonCase(isMust, isRepeat, isClear, inputRuleTypes);
//添加输入长度限制相关的测试用例
//判断传入的限制参数是否有小于0的参数参数小于0则直接转换为0
@ -279,7 +279,7 @@ public class InformationCase extends Case {
* 2.输入限制数字最大输入10时addLengthRuleTextboxCase(..., InformationCase.MIN_NUMBER, 10, ...)<br>
* 3.输入限制数字为2~10之间时addLengthRuleTextboxCase(..., 2, 10, ...)<br>
* 注意若两个参数传入一样或最小参数为{@link #MIN_NUMBER} 最大参数为{@link #MAX_NUMBER}则抛出异常
* @param name 文本框名称控件名称
* @param name 控件名称
* @param isMust 是否必填
* @param isRepeat 是否可以与存在的内容重复
* @param isClear 是否有按钮可以清空文本框
@ -304,7 +304,7 @@ public class InformationCase extends Case {
//----------------------------------------------------------------------
//存储步骤与预期信息
//添加通用用例
textboxCommonCase(caseName, isMust, isRepeat, isClear, InputRuleType.NUM);
textboxCommonCase(isMust, isRepeat, isClear, InputRuleType.NUM);
//添加输入数字限制相关的测试用例
//判断最大最小值是否一致一致则抛出异常
@ -385,16 +385,350 @@ public class InformationCase extends Case {
return this;
}
/**
* 用于生成与号码相关的测试用例通过{@link PhoneType}来控制传入号码类型
* @param name 控件名称
* @param isMust 是否必填
* @param isRepeat 是否可以与存在的内容重复
* @param isClear 是否有按钮可以清空文本框
* @param phoneTypes 号码类型枚举可通过类名进行调用
* @return 类本身
*/
public Case addPhoneCase(String name, boolean isMust, boolean isRepeat, boolean isClear, PhoneType...phoneTypes) {
//清空字段的内容
clearFieldText();
// 存储case标签的name属性内容
String caseName = "addPhoneCase";
//添加控件名称
wordMap.put(WordType.CONTROL_NAME.getName(), name);
//转换输入限制为集合类型
List<PhoneType> phoneRules = Arrays.asList(phoneTypes);
//存储标题信息
addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1"));
//----------------------------------------------------------------------
//存储步骤与预期信息
//添加通用用例
textboxCommonCase(isMust, isRepeat, isClear, InputRuleType.NUM);
//添加手机相关的测试用例
if (phoneRules.contains(PhoneType.MOBLE)) {
//大于11位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "3"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
//小于11位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "4"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
}
//添加座机相关的测试用例
if (phoneRules.contains(PhoneType.FIXED)) {
//大于7位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "5"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
//小于7位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "6"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
//区位号
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "1"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
}
//长度符合但不和规则的用例
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "7"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
//----------------------------------------------------------------------
//存储前置条件信息
addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION));
//存储关键词信息
addFieldText(LabelType.KEY, getAllLabelText(caseName, LabelType.KEY));
//存储优先级信息
addFieldText(LabelType.RANK, getLabelText(caseName, LabelType.RANK, isMust ? "1" : "2"));
return this;
}
/**
* 用于生成身份证相关的测试用例
* @param name 控件名称
* @param isMust 是否必填
* @param isRepeat 是否可以与存在的内容重复
* @param isClear 是否有按钮可以清空文本框
* @return 类本身
*/
public Case addIDCardCase(String name, boolean isMust, boolean isRepeat, boolean isClear) {
//清空字段的内容
clearFieldText();
// 存储case标签的name属性内容
String caseName = "addIDCardCase";
//添加控件名称
wordMap.put(WordType.CONTROL_NAME.getName(), name);
//存储标题信息
addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1"));
//----------------------------------------------------------------------
//存储步骤与预期信息
//添加通用用例
textboxCommonCase(isMust, isRepeat, isClear, InputRuleType.NUM);
//输入15位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "3"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//输入18位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "4"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//输入末尾带Xx
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "5"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//输入大于18位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "6"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
//输入小于18位大于15位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "7"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
//输入小于15位
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "8"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
//输入不符合规则
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "9"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
//----------------------------------------------------------------------
//存储前置条件信息
addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION));
//存储关键词信息
addFieldText(LabelType.KEY, getAllLabelText(caseName, LabelType.KEY));
//存储优先级信息
addFieldText(LabelType.RANK, getLabelText(caseName, LabelType.RANK, isMust ? "1" : "2"));
return this;
}
/**
* 该方法用于生成下拉框的测试用例
* @param name 控件名称
* @param isMust 是否必填
* @param hasEmpty 是否存在空选项
* @param isClear 是否有按钮可以清空文本框
* @return 类本身
*/
public Case addSelectboxCase(String name, boolean isMust, boolean hasEmpty, boolean isClear) {
//清空字段的内容
clearFieldText();
// 存储case标签的name属性内容
String caseName = "addSelectboxCase";
//添加控件名称
wordMap.put(WordType.CONTROL_NAME.getName(), name);
//存储标题信息
addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1"));
//----------------------------------------------------------------------
//存储步骤与预期信息
//选择选项后清空
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "4"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, hasEmpty ? "4" : "3"));
//添加空选项用例
if (hasEmpty) {
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "1"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, isMust ? "1" : "2"));
}
//添加选择第一个选项
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "2"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//添加选择最后一个选项
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "3"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//----------------------------------------------------------------------
//存储前置条件信息
addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION));
//存储关键词信息
addFieldText(LabelType.KEY, getAllLabelText(caseName, LabelType.KEY));
//存储优先级信息
addFieldText(LabelType.RANK, getLabelText(caseName, LabelType.RANK, isMust ? "1" : "2"));
return this;
}
/**
* 用于生成单选按钮的测试用例
* @param name 控件名称
* @return 类本身
*/
public Case addRadioButtonCase(String name) {
//清空字段的内容
clearFieldText();
// 存储case标签的name属性内容
String caseName = "addRadioButtonCase";
//添加控件名称
wordMap.put(WordType.CONTROL_NAME.getName(), name);
//存储标题信息
addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1"));
//----------------------------------------------------------------------
//存储步骤与预期信息
//选择选项后清空
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "5"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "4"));
//依次选择选项
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "1"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "3"));
//不改变默认选项
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "2"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//选第一个
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "3"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//选最后一个
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "4"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//----------------------------------------------------------------------
//存储前置条件信息
addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION));
//存储关键词信息
addFieldText(LabelType.KEY, getAllLabelText(caseName, LabelType.KEY));
//存储优先级信息
addFieldText(LabelType.RANK, getLabelText(caseName, LabelType.RANK, "1"));
return this;
}
/**
* 用于生成多选按钮的测试用例
* @param name 控件名称
* @param isMust 是否必填
* @return 类本身
*/
public Case addCheckboxCase(String name, boolean isMust) {
//清空字段的内容
clearFieldText();
// 存储case标签的name属性内容
String caseName = "addCheckboxCase";
//添加控件名称
wordMap.put(WordType.CONTROL_NAME.getName(), name);
//存储标题信息
addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1"));
//----------------------------------------------------------------------
//存储步骤与预期信息
//依次选择选项
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "1"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "3"));
//再次依次选择选项
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "2"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "4"));
//不进行选择
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "3"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, isMust ? "2" : "1"));
//选择第一个
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "4"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//选择最后一个
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "5"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//选择多个
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "6"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//----------------------------------------------------------------------
//存储前置条件信息
addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION));
//存储关键词信息
addFieldText(LabelType.KEY, getAllLabelText(caseName, LabelType.KEY));
//存储优先级信息
addFieldText(LabelType.RANK, getLabelText(caseName, LabelType.RANK, "1"));
return this;
}
/**
* 用于生成与日期相关的测试用例
* @param name 控件名称
* @param isMust 是否必填
* @param isInput 是否可以输入
* @param isClear 是否可以清除
* @return 类本身
*/
public Case addDateCase(String name, boolean isMust, boolean isInput, boolean isClear) {
//清空字段的内容
clearFieldText();
// 存储case标签的name属性内容
String caseName = "addDateCase";
//添加控件名称
wordMap.put(WordType.CONTROL_NAME.getName(), name);
//存储标题信息
addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1"));
//----------------------------------------------------------------------
//存储步骤与预期信息
//依次选择选项
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "1"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "3"));
//再次依次选择选项
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "2"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "4"));
//不进行选择
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "3"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, isMust ? "2" : "1"));
//选择第一个
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "4"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//选择最后一个
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "5"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//选择多个
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "6"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//----------------------------------------------------------------------
//存储前置条件信息
addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION));
//存储关键词信息
addFieldText(LabelType.KEY, getAllLabelText(caseName, LabelType.KEY));
//存储优先级信息
addFieldText(LabelType.RANK, getLabelText(caseName, LabelType.RANK, "1"));
return this;
}
/**
* 用于生成文本框类型共同的测试用例步骤与预期即普通文本框测试用例的步骤与预期
* @param name 文本框名称控件名称
* @param name 控件名称
* @param isMust 是否必填
* @param isRepeat 是否可以与存在的内容重复
* @param isClear 是否有按钮可以清空文本框
*/
private void textboxCommonCase(String name, boolean isMust, boolean isRepeat, boolean isClear, InputRuleType... inputRuleTypes) {
private void textboxCommonCase(boolean isMust, boolean isRepeat, boolean isClear, InputRuleType... inputRuleTypes) {
// 存储case标签的name属性内容
String caseName = "addTextboxCase";
String caseName = "textboxBasicCase";
//转换输入限制为集合类型
List<InputRuleType> inputRules = Arrays.asList(inputRuleTypes);
@ -428,6 +762,42 @@ public class InformationCase extends Case {
}
}
/**
* 添加日期相关的基本用例
* @param isMust 是否必填
* @param isInput 是否可输入
* @param isClear 是否可清空
*/
private void dateboxCommonCase(boolean isMust, boolean isInput, boolean isClear) {
// 存储case标签的name属性内容
String caseName = "addDateCase";
//不填写
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "1"));
//根据是否必填来判断填入成功或失败预期
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, isMust ? "2" : "1"));
//选择当前时间
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "2"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, isMust ? "2" : "1"));
//选择时间后清除时间
if (isClear) {
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "3"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, isMust ? "2" : "1"));
}
//手动输入时间
if (isInput) {
//输入正确格式
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "4"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
//输入不正确的格式
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "5"));
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
}
}
/**
* <p><b>文件名</b>InformationCase.java</p>
* <p><b>用途</b>枚举在预设测试用例中需要被替换的词语</p>
@ -513,4 +883,79 @@ public class InformationCase extends Case {
return name;
}
}
/**
* <p><b>文件名</b>InputRuleType.java</p>
* <p><b>用途</b>用于枚举控件中可输入字符类型的限制</p>
* <p><b>编码时间</b>2020年3月14日 下午9:14:30</p>
* <p><b>修改时间</b>2020年3月14日 下午9:14:30</p>
* @author 彭宇琦
* @version Ver1.0
* @since JDK 12
*/
public enum InputRuleType {
/**
* 中文
*/
CH("中文"),
/**
* 英文
*/
EN("英文"),
/**
* 数字
*/
NUM("数字"),
/**
* 特殊字符
*/
SPE("特殊字符"),
/**
* 小写字母
*/
LOW("小写字母"),
/**
* 大写字母
*/
CAP("大写字母");
/**
* 枚举名称
*/
private String name;
/**
* 初始化枚举名称
* @param name 枚举名称
*/
private InputRuleType(String name) {
this.name = name;
}
/**
* 返回枚举名称
* @return 枚举名称
*/
public String getName() {
return name;
}
}
/**
* <p><b>文件名</b>InputRuleType.java</p>
* <p><b>用途</b>用于枚举号码限制</p>
* <p><b>编码时间</b>2020年3月14日 下午9:14:30</p>
* <p><b>修改时间</b>2020年3月14日 下午9:14:30</p>
* @author 彭宇琦
* @version Ver1.0
* @since JDK 12
*/
public enum PhoneType {
/**
* 设置类型为移动电话手机
*/
MOBLE,
/**
* 设置类型为固定电话座机
*/
FIXED;
}
}

View File

@ -8,7 +8,7 @@ import org.testng.annotations.Test;
import pres.auxiliary.work.n.tcase.CaseContentException;
import pres.auxiliary.work.n.tcase.InformationCase;
import pres.auxiliary.work.n.tcase.InputRuleType;
import pres.auxiliary.work.n.tcase.InformationCase.InputRuleType;
public class InformationCaseTest {
InformationCase ic = new InformationCase(new File("ConfigurationFiles/CaseConfigurationFile/CaseTemplet/AddInformation.xml"));
@ -49,7 +49,7 @@ InformationCase ic = new InformationCase(new File("ConfigurationFiles/CaseConfig
}
/**
* 测试{@link InformationCase#addBasicTextboxCase(String, boolean, boolean, boolean, pres.auxiliary.work.n.tcase.InputRuleType...)}方法
* 测试{@link InformationCase#addBasicTextboxCase(String, boolean, boolean, boolean, pres.auxiliary.tool.web.InputRuleType...)}方法
*/
@Test
public void addBasicTextboxCaseTest_NotRule() {
@ -57,11 +57,11 @@ InformationCase ic = new InformationCase(new File("ConfigurationFiles/CaseConfig
}
/**
* 测试{@link InformationCase#addBasicTextboxCase(String, boolean, boolean, boolean, pres.auxiliary.work.n.tcase.InputRuleType...)}方法
* 测试{@link InformationCase#addBasicTextboxCase(String, boolean, boolean, boolean, pres.auxiliary.tool.web.InputRuleType...)}方法
*/
@Test
public void addBasicTextboxCaseTest_HaveRule() {
ic.addBasicTextboxCase("测试控件2", false, false, false, InputRuleType.EN, InputRuleType.NUM);
ic.addBasicTextboxCase("测试控件2", false, false, false, InformationCase.InputRuleType.EN, InformationCase.InputRuleType.NUM);
}
/**
@ -76,8 +76,8 @@ InformationCase ic = new InformationCase(new File("ConfigurationFiles/CaseConfig
* 测试{@link InformationCase#addLengthRuleTextboxCase(String, boolean, boolean, boolean, int, int, InputRuleType...)}方法
*/
@Test
public void aaddLengthRuleTextboxCaseTest_2() {
ic.addLengthRuleTextboxCase("测试控件4", false, false, true, 5, 5, InputRuleType.EN, InputRuleType.NUM);
public void addLengthRuleTextboxCaseTest_2() {
ic.addLengthRuleTextboxCase("测试控件4", false, false, true, 5, 5, InformationCase.InputRuleType.EN, InformationCase.InputRuleType.NUM);
}
/**
* 测试{@link InformationCase#addLengthRuleTextboxCase(String, boolean, boolean, boolean, int, int, InputRuleType...)}方法