完成添加信息类用例生成工具
This commit is contained in:
parent
1dfd94e886
commit
aaf57138be
|
@ -15,7 +15,7 @@
|
|||
<except id='4' value='点击清空按钮后,填写的内容被清空,点击“*{按钮名称}*”按钮后,*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -54,7 +54,7 @@
|
|||
<except id='6' value='*{成功预期前文}**{信息}*创建成功,多余的小数位将按照规则舍弃,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -78,13 +78,13 @@
|
|||
<step id='4' value='选择选项后,点击清除按钮'/>
|
||||
</steps>
|
||||
<excepts>
|
||||
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
|
||||
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息,并且新增数据的*{控件名称}*显示为新增时所选信息*{成功预期后文}*'/>
|
||||
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
|
||||
<except id='3' value='选项变为默认选项或第一个选项'/>
|
||||
<except id='4' value='选项变为空选项'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -109,13 +109,13 @@
|
|||
<step id='5' value='查看*{控件名称}*选项'/>
|
||||
</steps>
|
||||
<excepts>
|
||||
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
|
||||
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息,并且新增数据的*{控件名称}*显示为新增时所选信息*{成功预期后文}*'/>
|
||||
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
|
||||
<except id='3' value='不会出现有两个或以上的选项被选中的情况'/>
|
||||
<except id='4' value='*{控件名称}*选项应有一个默认选项'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -141,13 +141,13 @@
|
|||
<step id='6' value='选择其中多个选项,点击“*{按钮名称}*”按钮'/>
|
||||
</steps>
|
||||
<excepts>
|
||||
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
|
||||
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息,并且新增数据的*{控件名称}*显示为新增时所选信息*{成功预期后文}*'/>
|
||||
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
|
||||
<except id='3' value='所有的选项均被勾选'/>
|
||||
<except id='4' value='所有的选项均被取消勾选'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -170,17 +170,17 @@
|
|||
<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='6' value='选择大于“*{结束日期}*”的日期,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='7' value='选择与“*{结束日期}*”相同的日期,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='8' value='选择小于“*{开始日期}*”的日期,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='9' value='选择与“*{开始日期}*”相同的日期,点击“*{按钮名称}*”按钮'/>
|
||||
</steps>
|
||||
<excepts>
|
||||
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
|
||||
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -210,7 +210,7 @@
|
|||
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -241,7 +241,7 @@
|
|||
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -280,7 +280,7 @@
|
|||
<except id='4' value='界面上不显示任何图片'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
@ -298,23 +298,31 @@
|
|||
|
||||
<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 id='11' value='上传*{文件类型}*后点击相应的预览按钮'/>
|
||||
<step id='1' value='不上传*{文件类型}*,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='2' value='上传*{文件类型}*后删除*{文件类型}*,再上传一个*{文件类型}*,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='3' value='上传*{文件类型}*后删除*{文件类型}*,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='4' value='上传超过*{文件大小}*M大小的*{文件类型}*'/>
|
||||
<step id='5' value='上传较大的*{文件类型}*'/>
|
||||
<step id='6' value='上传非*{文件格式}*格式的*{文件类型}*'/>
|
||||
<step id='7' value='上传小于*{文件最小个数}*个*{文件类型}*,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='8' value='上传*{文件最小个数}*个*{文件类型}*,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='9' value='上传大于*{文件最大个数}*个*{文件类型}*,点击“*{按钮名称}*”按钮'/>
|
||||
<step id='10' value='上传*{文件最大个数}*个*{文件类型}*,点击“*{按钮名称}*”按钮'/>
|
||||
</steps>
|
||||
<excepts>
|
||||
<except id='1' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息*{成功预期后文}*'/>
|
||||
<except id='2' value='*{失败预期前文}**{信息}*创建失败,并给出相应的提示*{失败预期后文}*'/>
|
||||
<except id='3' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息,并且其*{信息}*的*{控件名称}*为最后上传的文件*{成功预期后文}*'/>
|
||||
<except id='4' value='*{成功预期前文}**{信息}*创建成功,界面返回到列表页,其*{信息}*列表上显示新增的信息,并且其*{信息}*的*{控件名称}*显示为最后上传的图片*{成功预期后文}*'/>
|
||||
<except id='5' value='上传的图片被放大显示在页面中'/>
|
||||
<except id='6' value='上传的文件被下载或者在新的页面中显示'/>
|
||||
<except id='7' value='给出文件超过大小限制相关的提示'/>
|
||||
<except id='9' value='给出文件格式不正确相关的提示'/>
|
||||
<except id='8' value='若允许上传则点击“*{按钮名称}*”按钮后*{信息}*创建成功,若无法上传,则给出相应的友好提示'/>
|
||||
</excepts>
|
||||
<titles>
|
||||
<title id='1' value='新增不同*{控件名称}*的*{信息}*' />
|
||||
<title id='1' value='对新增*{信息}*界面的*{控件名称}*进行测试' />
|
||||
</titles>
|
||||
<preconditions>
|
||||
<precondition id='1' value='已在新增*{信息}*的页面上' />
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
package pres.auxiliary.work.n.tcase;
|
||||
|
||||
/**
|
||||
* <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;
|
||||
}
|
||||
}
|
|
@ -170,11 +170,6 @@ public class InformationCase extends Case {
|
|||
|
||||
//----------------------------------------------------------------
|
||||
|
||||
//填写存在的内容
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "12"));
|
||||
//根据是否必填来判断填入成功或失败预期
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, isRepeat ? "2" : "1"));
|
||||
|
||||
//存储前置条件信息
|
||||
addFieldText(LabelType.PRECONDITION, getAllLabelText(caseName, LabelType.PRECONDITION));
|
||||
//存储关键词信息
|
||||
|
@ -190,7 +185,8 @@ public class InformationCase extends Case {
|
|||
* 1.输入长度限制为2~10个字符时:addLengthRuleTextboxCase(..., 2, 10, ...)<br>
|
||||
* 2.输入长度限制为最多输入10个字符时:addLengthRuleTextboxCase(..., 0, 10, ...)<br>
|
||||
* 3.输入长度限制为最少输入2个字符时:addLengthRuleTextboxCase(..., 2, 0, ...)<br>
|
||||
* 注意:若两个参数传入一样,且都不为0,则等价于第2中情况;若两个参数都小于等于0时,则抛出异常
|
||||
* 4.输入长度限制仅能输入2个字符时:addLengthRuleTextboxCase(..., 2, 2, ...)<br>
|
||||
* 注意:若两个参数都小于等于0时,则抛出异常
|
||||
* @param name 控件名称
|
||||
* @param isMust 是否必填
|
||||
* @param isRepeat 是否可以与存在的内容重复
|
||||
|
@ -234,7 +230,7 @@ public class InformationCase extends Case {
|
|||
//等于最小限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "5"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
} else if ((minLen == 0 && maxLen != 0) || minLen == maxLen) {
|
||||
} else if (minLen == 0 && maxLen != 0) {
|
||||
//存储最大输入限制
|
||||
wordMap.put(WordType.INPUT_MAX_LENGTH.getName(), String.valueOf(maxLen));
|
||||
//大于最大限制
|
||||
|
@ -257,9 +253,12 @@ public class InformationCase extends Case {
|
|||
//大于最大限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "6"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
|
||||
//等于最大限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "7"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
//若最大最小限制相等,则不添加该条用例
|
||||
if (minLen != maxLen) {
|
||||
//等于最大限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "7"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
@ -458,7 +457,7 @@ public class InformationCase extends Case {
|
|||
* @param isClear 是否有按钮可以清空文本框
|
||||
* @return 类本身
|
||||
*/
|
||||
public Case addIDCardCase(String name, boolean isMust, boolean isRepeat, boolean isClear) {
|
||||
public Case addIdCardCase(String name, boolean isMust, boolean isRepeat, boolean isClear) {
|
||||
//清空字段的内容
|
||||
clearFieldText();
|
||||
// 存储case标签的name属性内容
|
||||
|
@ -684,29 +683,248 @@ public class InformationCase extends Case {
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
//存储步骤与预期信息
|
||||
//依次选择选项
|
||||
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"));
|
||||
//添加基本用例
|
||||
dateboxCommonCase(isMust, isInput, isClear);
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
//不进行选择
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "3"));
|
||||
//存储前置条件信息
|
||||
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 addStartDateCase(String name, String endDateName, 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"));
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
//存储步骤与预期信息
|
||||
//添加基本用例
|
||||
dateboxCommonCase(isMust, isInput, isClear);
|
||||
|
||||
wordMap.put(WordType.END_DATE.getName(), endDateName);
|
||||
//大于结束时间
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "6"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
|
||||
|
||||
//等于结束时间
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "7"));
|
||||
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 addEndDateCase(String name, String startDateName, 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"));
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
//存储步骤与预期信息
|
||||
//添加基本用例
|
||||
dateboxCommonCase(isMust, isInput, isClear);
|
||||
|
||||
wordMap.put(WordType.START_DATE.getName(), startDateName);
|
||||
//小于开始时间
|
||||
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, "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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于生成上传文件或图片相关的测试用例,当只有单边限制时,则其中一个参数传入小于等于0的数字即可,例如:<br>
|
||||
* 1.输入文件个数限制为2~10个字符时:addUploadFileCase(..., 2, 10, ...)<br>
|
||||
* 2.输入文件个数限制为最多输入10个字符时:addUploadFileCase(..., 0, 10, ...)<br>
|
||||
* 3.输入文件个数限制为最少输入2个字符时:addUploadFileCase(..., 2, 0, ...)<br>
|
||||
* 4.输入文件个数限制仅能输入2个字符时:addUploadFileCase(..., 2, 2, ...)<br>
|
||||
* 5.若两个参数都小于等于0时,则不对文件数量进行限制
|
||||
* @param name 控件名称
|
||||
* @param isMust 是否必填
|
||||
* @param isDelete 是否可以删除
|
||||
* @param isPreview 是否可以预览
|
||||
* @param fileSize 文件大小限制(单位为M),传参大于0时表示有文件大小限制
|
||||
* @param minLen 最小文件个数限制
|
||||
* @param maxLen 最大文件个数限制
|
||||
* @param uploadFileType 上传的文件类型
|
||||
* @param fileRuleTypes 文件格式限制
|
||||
* @return 类本身
|
||||
*/
|
||||
public Case addUploadFileCase(String name, boolean isMust, boolean isDelete, boolean isPreview, int fileSize, int minLen, int maxLen, UploadFileType uploadFileType, FileRuleType...fileRuleTypes) {
|
||||
//清空字段的内容
|
||||
clearFieldText();
|
||||
// 存储case标签的name属性内容
|
||||
String caseName = "addUploadFileCase";
|
||||
|
||||
//添加控件名称
|
||||
wordMap.put(WordType.CONTROL_NAME.getName(), name);
|
||||
//转换输入限制为集合类型
|
||||
List<FileRuleType> fileRules = Arrays.asList(fileRuleTypes);
|
||||
|
||||
//存储标题信息
|
||||
addFieldText(LabelType.TITLE, getLabelText(caseName, LabelType.TITLE, "1"));
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
//存储步骤与预期信息
|
||||
//添加文件类型
|
||||
wordMap.put(WordType.FILE_TYPE.getName(), uploadFileType.getName());
|
||||
|
||||
//预览文件
|
||||
if (isPreview) {
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "11"));
|
||||
//根据枚举类型选择相应的预期
|
||||
switch (uploadFileType) {
|
||||
case FILE:
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "6"));
|
||||
break;
|
||||
case IMAGE:
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "5"));
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException("不支持的类型:" + uploadFileType.getName());
|
||||
}
|
||||
}
|
||||
|
||||
//不上传文件
|
||||
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, "4"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
//删除文件用例
|
||||
if (isDelete) {
|
||||
//删除文件点保存
|
||||
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, "5"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
//删除文件再上传
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "2"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, uploadFileType.equals(UploadFileType.IMAGE) ? "4" : "3"));
|
||||
}
|
||||
|
||||
//选择多个
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "6"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
//上传文件个数限制
|
||||
//判断传入的限制参数是否有小于0的参数,参数小于0则直接转换为0
|
||||
minLen = minLen < 0 ? 0 : minLen;
|
||||
maxLen = maxLen < 0 ? 0 : maxLen;
|
||||
//判断两个限制参数是否其中一个大于0,若是,则添加上传文件个数限制的用例
|
||||
//判断长度是否都为0,若都为0,则抛出异常
|
||||
if (minLen != 0 && maxLen == 0) {
|
||||
//存储最小上传限制
|
||||
wordMap.put(WordType.UPLOAD_MIN_LENGTH.getName(), String.valueOf(minLen));
|
||||
|
||||
//小于最小限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "7"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
|
||||
//等于最小限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "8"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
} else if (minLen == 0 && maxLen != 0) {
|
||||
//存储最大输入限制
|
||||
wordMap.put(WordType.UPLOAD_MAX_LENGTH.getName(), String.valueOf(maxLen));
|
||||
//大于最大限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "9"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
|
||||
//等于最大限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "10"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
} else if (minLen != 0 && maxLen != 0) {
|
||||
//若都不为0,则将相应的内容进行存储,且判断最大长度与最小长度是否传反,若传反,则调换顺序
|
||||
wordMap.put(WordType.UPLOAD_MIN_LENGTH.getName(), String.valueOf(minLen < maxLen ? minLen : maxLen));
|
||||
wordMap.put(WordType.UPLOAD_MAX_LENGTH.getName(), String.valueOf(minLen < maxLen ? maxLen : minLen));
|
||||
|
||||
//小于最小限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "7"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
|
||||
//等于最小限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "8"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
//大于最大限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "9"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "2"));
|
||||
//若最大最小限制相等,则不添加等于最大限制
|
||||
if (minLen != maxLen) {
|
||||
//等于最大限制
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "10"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "1"));
|
||||
}
|
||||
} else {
|
||||
//若均等于0,则不进行处理
|
||||
}
|
||||
|
||||
//上传大于限制的文件
|
||||
if (fileSize > 0) {
|
||||
//存储大小限制
|
||||
wordMap.put(WordType.FILE_SIZE.getName(), String.valueOf(fileSize));
|
||||
//超过大小限制的用例
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "4"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "7"));
|
||||
} else {
|
||||
//超过大小限制的用例
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "5"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "8"));
|
||||
}
|
||||
|
||||
//上传非限制格式文件
|
||||
if (fileRules.size() != 0) {
|
||||
String fileRulesText = "";
|
||||
for (FileRuleType fileRule : fileRules) {
|
||||
fileRulesText += (fileRule.getName() + "、");
|
||||
}
|
||||
wordMap.put(WordType.FILE_RULE.getName(), fileRulesText.substring(0, fileRulesText.length() - 1));
|
||||
addFieldText(LabelType.STEP, getLabelText(caseName, LabelType.STEP, "6"));
|
||||
addFieldText(LabelType.EXCEPT, getLabelText(caseName, LabelType.EXCEPT, "9"));
|
||||
}
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
//存储前置条件信息
|
||||
|
@ -861,6 +1079,34 @@ public class InformationCase extends Case {
|
|||
* 小数位数
|
||||
*/
|
||||
INPUT_DECIMALS("小数位数"),
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
END_DATE("结束日期"),
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
START_DATE("开始日期"),
|
||||
/**
|
||||
* 文件类型
|
||||
*/
|
||||
FILE_TYPE("文件类型"),
|
||||
/**
|
||||
* 最长文件个数限制
|
||||
*/
|
||||
UPLOAD_MAX_LENGTH("文件最大个数"),
|
||||
/**
|
||||
* 最短文件个数限制
|
||||
*/
|
||||
UPLOAD_MIN_LENGTH("文件最小个数"),
|
||||
/**
|
||||
* 文件大小
|
||||
*/
|
||||
FILE_SIZE("文件大小"),
|
||||
/**
|
||||
* 文件格式
|
||||
*/
|
||||
FILE_RULE("文件格式"),
|
||||
;
|
||||
/**
|
||||
* 存储需要替换的单词名称
|
||||
|
@ -958,4 +1204,124 @@ public class InformationCase extends Case {
|
|||
*/
|
||||
FIXED;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p><b>文件名:</b>InformationCase.java</p>
|
||||
* <p><b>用途:</b>用于枚举上传文件的格式</p>
|
||||
* <p><b>编码时间:</b>2020年3月18日上午9:30:34</p>
|
||||
* <p><b>修改时间:</b>2020年3月18日上午9:30:34</p>
|
||||
* @author 彭宇琦
|
||||
* @version Ver1.0
|
||||
* @since JDK 12
|
||||
*
|
||||
*/
|
||||
public enum FileRuleType {
|
||||
/**
|
||||
* jpg格式
|
||||
*/
|
||||
JPG("jpg"),
|
||||
/**
|
||||
* gif格式
|
||||
*/
|
||||
GIF("gif"),
|
||||
/**
|
||||
* png格式
|
||||
*/
|
||||
PNG("png"),
|
||||
/**
|
||||
* bmp格式
|
||||
*/
|
||||
BMP("bmp"),
|
||||
/**
|
||||
* doc格式
|
||||
*/
|
||||
DOC("doc"),
|
||||
/**
|
||||
* docx格式
|
||||
*/
|
||||
DOCX("docx"),
|
||||
/**
|
||||
* txt格式
|
||||
*/
|
||||
TXT("txt"),
|
||||
/**
|
||||
* xls格式
|
||||
*/
|
||||
XLS("xls"),
|
||||
/**
|
||||
* xlsx格式
|
||||
*/
|
||||
XLSX("xlsx"),
|
||||
/**
|
||||
* pdf格式
|
||||
*/
|
||||
PDF("pdf"),
|
||||
/**
|
||||
* csv格式
|
||||
*/
|
||||
CSV("csv"),
|
||||
;
|
||||
|
||||
/**
|
||||
* 文件格式名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 初始化枚举名称
|
||||
* @param name 枚举名称
|
||||
*/
|
||||
private FileRuleType(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回格式名称
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <p><b>文件名:</b>InformationCase.java</p>
|
||||
* <p><b>用途:</b>用于枚举上传文件的类型</p>
|
||||
* <p><b>编码时间:</b>2020年3月18日上午9:56:51</p>
|
||||
* <p><b>修改时间:</b>2020年3月18日上午9:56:51</p>
|
||||
* @author 彭宇琦
|
||||
* @version Ver1.0
|
||||
* @since JDK 12
|
||||
*
|
||||
*/
|
||||
public enum UploadFileType {
|
||||
/**
|
||||
* 上传文件
|
||||
*/
|
||||
FILE("文件"),
|
||||
/**
|
||||
* 上传图片
|
||||
*/
|
||||
IMAGE("图片")
|
||||
;
|
||||
|
||||
/**
|
||||
* 上传文件类型名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 返回枚举名称
|
||||
* @return 枚举名称
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化枚举值名称
|
||||
* @param name 枚举值名称
|
||||
*/
|
||||
private UploadFileType(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package pres.auxiliary.work.testcase;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.testng.annotations.AfterMethod;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
|
@ -8,7 +9,9 @@ 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.InformationCase.FileRuleType;
|
||||
import pres.auxiliary.work.n.tcase.InformationCase.InputRuleType;
|
||||
import pres.auxiliary.work.n.tcase.InformationCase.UploadFileType;
|
||||
|
||||
public class InformationCaseTest {
|
||||
InformationCase ic = new InformationCase(new File("ConfigurationFiles/CaseConfigurationFile/CaseTemplet/AddInformation.xml"));
|
||||
|
@ -16,7 +19,7 @@ InformationCase ic = new InformationCase(new File("ConfigurationFiles/CaseConfig
|
|||
@BeforeClass
|
||||
public void start() {
|
||||
ic.setReplaceWord(InformationCase.BUTTON_NAME, "保存");
|
||||
ic.setReplaceWord(InformationCase.ADD_INFORMATION, "用户列表");
|
||||
ic.setReplaceWord(InformationCase.ADD_INFORMATION, "用户");
|
||||
ic.setReplaceWord(InformationCase.FAIL_EXCEPT_TEXT_START, "测试*失败*预期前文");
|
||||
ic.setReplaceWord(InformationCase.FAIL_EXCEPT_TEXT_END, "测试*失败*预期后文");
|
||||
ic.setReplaceWord(InformationCase.SUCCESS_EXCEPT_TEXT_START, "测试*成功*预期前文");
|
||||
|
@ -27,8 +30,12 @@ InformationCase ic = new InformationCase(new File("ConfigurationFiles/CaseConfig
|
|||
public void outputInformation() {
|
||||
System.out.println("------------------------------");
|
||||
ic.getFieldTextMap().forEach((k, v) -> {
|
||||
//可生成序号,类封装了普通的自增等操作
|
||||
AtomicInteger commitCount = new AtomicInteger(1);
|
||||
System.out.println(k + ":");
|
||||
v.forEach(System.out :: println);
|
||||
v.forEach(s -> {
|
||||
System.out.println(commitCount.getAndIncrement() + "." + s);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -157,4 +164,140 @@ InformationCase ic = new InformationCase(new File("ConfigurationFiles/CaseConfig
|
|||
public void addNumberRuleTextboxCaseTest_6() {
|
||||
ic.addNumberRuleTextboxCase("测试控件14", true, false, false, 2, InformationCase.MAX_NUMBER, 20);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addPhoneCase(String, boolean, boolean, boolean, pres.auxiliary.work.n.tcase.InformationCase.PhoneType...)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addPhoneCaseTest_Fixed() {
|
||||
ic.addPhoneCase("测试控件15", true, false, false, InformationCase.PhoneType.FIXED);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addPhoneCase(String, boolean, boolean, boolean, pres.auxiliary.work.n.tcase.InformationCase.PhoneType...)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addPhoneCaseTest_Moble() {
|
||||
ic.addPhoneCase("测试控件16", true, false, false, InformationCase.PhoneType.MOBLE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addPhoneCase(String, boolean, boolean, boolean, pres.auxiliary.work.n.tcase.InformationCase.PhoneType...)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addPhoneCaseTest_All() {
|
||||
ic.addPhoneCase("测试控件17", true, false, false, InformationCase.PhoneType.values());
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addIDCardCase(String, boolean, boolean, boolean)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addIDCardCaseTest() {
|
||||
ic.addIdCardCase("测试控件18", true, false, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addSelectboxCase(String, boolean, boolean, boolean)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addSelectboxCaseTest_HasEmpty() {
|
||||
ic.addSelectboxCase("测试控件19", true, true, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addSelectboxCase(String, boolean, boolean, boolean)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addSelectboxCaseTest_NotEmpty() {
|
||||
ic.addSelectboxCase("测试控件20", true, false, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addRadioButtonCase(String)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addRadioButtonCaseTest() {
|
||||
ic.addRadioButtonCase("测试控件22");
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addCheckboxCase(String, boolean)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addCheckboxCaseTest() {
|
||||
ic.addCheckboxCase("测试控件22", true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addDateCase(String, boolean, boolean, boolean)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addDateCaseTest_1() {
|
||||
ic.addDateCase("测试控件22", true, true, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addDateCase(String, boolean, boolean, boolean)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addDateCaseTest_2() {
|
||||
ic.addDateCase("测试控件23", false, false, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addStartDateCase(String, String, boolean, boolean, boolean)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addStartDateCaseTest() {
|
||||
ic.addStartDateCase("测试控件23", "测试控件24", false, false, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addEndDateCaseTest(String, String, boolean, boolean, boolean)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addEndDateCaseTest() {
|
||||
ic.addEndDateCase("测试控件24", "测试控件23", true, true, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addUploadFileCase(String, boolean, boolean, boolean, int, int, int, pres.auxiliary.work.n.tcase.InformationCase.UploadFileType, pres.auxiliary.work.n.tcase.InformationCase.FileRuleType...)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addUploadFileCaseTest_1() {
|
||||
ic.addUploadFileCase("测试控件25", true, true, true, 10, 2, 10, UploadFileType.FILE, FileRuleType.CSV, FileRuleType.XLS, FileRuleType.XLSX);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addUploadFileCase(String, boolean, boolean, boolean, int, int, int, pres.auxiliary.work.n.tcase.InformationCase.UploadFileType, pres.auxiliary.work.n.tcase.InformationCase.FileRuleType...)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addUploadFileCaseTest_2() {
|
||||
ic.addUploadFileCase("测试控件26", false, false, false, 0, 0, 10, UploadFileType.IMAGE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addUploadFileCase(String, boolean, boolean, boolean, int, int, int, pres.auxiliary.work.n.tcase.InformationCase.UploadFileType, pres.auxiliary.work.n.tcase.InformationCase.FileRuleType...)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addUploadFileCaseTest_3() {
|
||||
ic.addUploadFileCase("测试控件27", true, true, true, -1, 2, 0, UploadFileType.IMAGE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addUploadFileCase(String, boolean, boolean, boolean, int, int, int, pres.auxiliary.work.n.tcase.InformationCase.UploadFileType, pres.auxiliary.work.n.tcase.InformationCase.FileRuleType...)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addUploadFileCaseTest_4() {
|
||||
ic.addUploadFileCase("测试控件28", false, false, false, -1, 2, 2, UploadFileType.IMAGE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试{@link InformationCase#addUploadFileCase(String, boolean, boolean, boolean, int, int, int, pres.auxiliary.work.n.tcase.InformationCase.UploadFileType, pres.auxiliary.work.n.tcase.InformationCase.FileRuleType...)}方法
|
||||
*/
|
||||
@Test
|
||||
public void addUploadFileCaseTest_5() {
|
||||
ic.addUploadFileCase("测试控件29", false, false, false, -1, -1, -1, UploadFileType.IMAGE);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue