Java学习:
1.填写快递单时通常需要确定接收人的姓名、手机号和地址。其中要求手机号是11位数字字符,地址为字母开头的10个(含10)以内字母或字母数字共同组成。填写正确则提示“OK”,否则根据实际情况提示“**不符合要求”(**为手机号或地址),退出。编写程序实现此快递单信息的输入,并设计测试数据进行判定覆盖测试。输入数据打印出“输入手机号:”、“输入地址:”。
import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
try {
String reg1 = "^\\d{11}$";
String reg2 = "^[a-zA-Z]([0-9a-zA-Z]{"+10+"})$";
Scanner sc = new Scanner(System.in);
System.out.println("输入手机号:");
String num = sc.next();
System.out.println("输入地址:");
String add = sc.next();
if(!num.matches(reg1)) {
System.out.println("手机号不符合要求");
} else if(!add.matches(reg2)) {
System.out.println("地址不符合要求");
} else if (num.matches(reg1)&&add.matches(reg2)) {
System.out.println("OK");
}
} catch (Exception e) {
System.out.println("出现异常错误");
}
}
}
2.下列流程图中变量a、b、c、d均为非负整数,编写程序实现相应分析处理,并设计测试数据进行语句覆盖测试。要求a、b、c、d取最小可能值。
import java.util.Scanner;
public class class06 {
public static void main(String[] args) {
try {
Scanner sc = new Scanner(System.in);
System.out.println("请输入a,b,c,d的值:");
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int d = sc.nextInt();
double y;
if(a>0&&b>0&&c>0&&d>0) {
if ((a>12&&b<13)&&(c>4||d<20)) {
y = 3*a+10*b+5*d-c;
System.out.println("y的值为:"+y);
} else {
y = 10*d-(a+b)*c/5;
System.out.println("y的值为:"+y);
}
} else {
System.out.println("a,b,c,d不为非负整数");
}
} catch (Exception e) {
System.out.println("出现异常错误");
}
}
}
自动化测试:
csv文件读取:
读取步骤:
1、导入csv代码库;
2、以只读形式打开文件;
3、由于打开文件的数据不能够直接查看,所以要将打开文件的数据进行格式转换;
4、使用for循环将所有的数据进行打印,但是不包括第一行标题数据。
import csv #导入csv代码库
def read(): #将数据读取存在一个方法中,方便后面被调用
path=r"D:\canshuhua\element1.csv"
stream=open(path,'r') #以只读的形式打开文件
data=csv.reader(stream) #进行数据格式转换
list=[] #将读取的数据存放到list中
i=0
for row in data: #使用for循环进行读取
if i!=0:
list.append(row)
i=i+1
return list
if __name__ == '__main__':
data=read()
for row in data:
print(row)
jmeter断言:
Apply to:应用范围。
Main sample and sub-samples:匹配范围包括当前的父取样器并覆盖至子取样器。
Main sample only:匹配范围是当前父取样器。
Sub-samples only:仅匹配子取样器。
JMeter Variable Name to use:支持对JMeter变量值进行匹配。
要测试的响应字段:针对响应数据的不同部分进行匹配。
响应文本:响应服务器返回的文本内容,HTTP协议排除Header部分。
响应代码:匹配响应代码,比如HTTP协议返回代码“200”代表成功。
响应信息:匹配响应信息,比如处理成功返回“成功”字样,或者“OK”字样。
Response Headers:匹配响应中的头信息。
Request Headers:匹配请求中的头信息。
URL样本:匹配URL链接。
Document(text):对文档内容进行匹配。
Ignore Status:若一个请求有多个响应断言,其中第一个响应断言选中此项,当第一个响应断言失败时可以忽略此响应结果,继续进行下一个断言,如果下一个断言成功则还是可以判定请求成功。
Request Data:匹配请求数据。
模式匹配规则:
包括:响应内容包括需要匹配的内容即代表响应成功,支持正则表达式。
匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,大小写不敏感,支持正则表达式。
Equals:响应内容要完全等于需要匹配的内容才代表响应成功,大小写敏感,需要匹配的内容是字符串非正则表达式。
Substring:响应内容包含需要匹配的内容才代表响应成功,大小写敏感,需要匹配的内容是字符串非正则表达式。
否:相当于取反。如果断言结果为true,勾选“否”后,最终断言结果为false。如果断言结果为false,勾选“否”后,则最终断言结果为true。
或者:如果有多个模式组合,其中一个模式匹配成功了,断言结果就是成功的。如果不选择或者,必须所有模式匹配成功了,断言结果才成功。
要测试的模式:
填入需要匹配的字符串或者正则表达式,注意要与模式匹配规则搭配好。
Custom failure message:
自定义断言失败时输出的信息。
断言结果:
查看断言结果,需要添加监听器-断言结果。对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;如果失败,则除了请求的名称外,还会有一行失败的原因(不同类型的断言,结果不同)。
明日计划:
1.继续学习java
2.学习jmeter中的tab参数,以及回放日志
3.学习selenium的alert弹框处理