2019-02-27 16:05:31 Qton_CSDN 阅读数 1622

配置环境

 

1 fiddler 抓取api接口测试(抓包工具)

https://www.imooc.com/video/13101

链接: https://pan.baidu.com/s/1miQmmQs 密码: gxd2

 

2 postman

操作历史 接口地址/请求方式 返回数据

自动反复测试一个需要携带header的post请求,

并针对线上,测试环境同一个数据进行测试,并对结果进行比较

 

最好就翻墙后在chrome扩展程序里安装

翻不了墙就进百度云下载

链接: https://pan.baidu.com/s/1pKHIsnL 密码: jx4h

chrome扩展程序里把右上角 开发者模式打上√ 单击 左边 加载已解压的扩展程序 选择下载下来的文件夹

 

 

 

接口测试

https://www.imooc.com/video/13101

1什么是接口测试

外部接口

内部接口:上层服务与下层服务  同级服务

 

2 接口分类

GET 通过地址栏提交

POST 数据放在WebForm(数据较安全)

DELETE

PUT

 

3接口测试流程

3.1  设计测试用例

3.2 功能(是否正常,是否按照接口文档要求)

3.3 逻辑业务 (是否有依赖业务)

3.4 异常

参数异常{1关键字参数:如#admin等 2参数为空 3多了,少了参数 4错误参数}

数据异常{1关键字数据:如logname(关键字)=NULL(数据) 2数据为空 3长度不一致 4错误数据}

 

4 安全

4.1 cookie

4.2 header

4.3 唯一识别码(只在移动端应用)

 

5 接口测试工具

 

5.1 抓取接口工具:(抓包工具)fiddler

查看接口请求方式

查看请求数据,响应数据

接口返回状态

设置代理

 

5.2测试接口工具: 常用 postman

loadrunner(性能测试 也可接口测试) fiddler Jmeter(性能测试 也可接口测试)

操作历史 接口地址/请求方式 返回数据

自动反复测试一个需要携带header的post请求,

并针对线上,测试环境同一个数据进行测试,并对结果进行比较

 

6 接口测试三剑客

fiddler

postman

python自己开发

2017-10-21 15:02:34 qq_37753409 阅读数 115

1. 欧几里得算法

//求最大公约数和最小公倍数
int gcb(int a, int b){
    return b == 0 ? a : gcb(b, a%b);
}

2.拓展欧几里得

求解线性方程组 ax + by + c = 0
void gcd(int a, int b, int &x, int &y, int &d){
    if(!b){
        d = a;
        x = 1;
        y = 0;
    }else{
        gcd(a, a%b, x, y, d);
        y -= x*(a/b);
    }
}
//计算乘法逆元
int extgcd(ll a, ll b, ll &x, ll &y){
    if(b == 0){
        x = 1;
        y = 0;
        return a;
    }else{
        ll ans = extgcd(b, a%b, x, y);
        ll t = x;
        x = y;
        y = t - a/b*y;
        return ans;
    }
}
//计算乘法逆元
int cal(ll a, ll b, ll d){
    ll x, y;
    ll gcd = extgcd(a, b, x, y);
    if(d % gcd != 0) return -1;
    x = x*d/gcd;
    b = b/gcd;
    if(b < 0) b = -b;
    ll ans = x%b;
    if(ans < 0) ans += b;
    return ans;
}
2007-07-31 00:34:00 eastlift 阅读数 1744

Sprng入门Demo笔记:

人拿着斧子砍东西

 

package com.gxd.authdemo.springdemo;

//定义一个Person接口
public interface Person {    
    
public void useAxe() ;
    
}

 

package com.gxd.authdemo.springdemo;

public interface Axe {
    
//斧子有个砍的方法
    public void chop() ;

}

 

package com.gxd.authdemo.springdemo;

public class Chinese implements Person {

    
private Axe axe ;
    
public void useAxe() {
        System.out.println(
"中国人");
        axe.chop() ;

    }

    
    
//设值的注入方式
    public Axe getAxe() {
        
return axe;
    }

    
public void setAxe(Axe axe) {
        
this.axe = axe;
    }


}

 

package com.gxd.authdemo.springdemo;

public class American implements Person {
    
    
private Axe axe ;
    
    
public American() {}
    
//构造的注入方式
    public American(Axe axe) {
        
this.axe = axe ;
    }

    
public void useAxe() {
        System.out.println(
"美国人");
        axe.chop() ;
    }


}

 

package com.gxd.authdemo.springdemo;

public class SteelAxe implements Axe {

    
public void chop() {
        System.out.println(
"真是一把好钢斧");
    }

}

 

package com.gxd.authdemo.springdemo;

public class StoneAxe implements Axe {

    
public void chop() {
        System.out.println(
"原始社会用的斧子哈,用石头做的");
    }

}

 

package com.gxd.authdemo.springdemo;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

    
public static void main(String[] args) {
        ApplicationContext ctx 
= new ClassPathXmlApplicationContext("applicationContext.xml") ;
        
//Person p = (Person)ctx.getBean("chinese") ;
        Person p = (Person)ctx.getBean("american") ;
        p.useAxe() ;
    }
}

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    
<bean id="chinese" class="com.gxd.authdemo.springdemo.Chinese">
        
<property name="axe">
            
<ref local="stoneAxe"/>
        
</property>
    
</bean>
    
<bean id="steelAxe" class="com.gxd.authdemo.springdemo.SteelAxe"></bean>
    
<bean id="stoneAxe" class="com.gxd.authdemo.springdemo.StoneAxe"></bean>
    
    
<!-- 这下面是用构造注入的方式所写的配置文件 -->
    
<bean id="american" class="com.gxd.authdemo.springdemo.American">
        
<constructor-arg>
            
<ref local="stoneAxe"/>
        
</constructor-arg>
    
</bean>
</beans>

 

 

py L2
2019-10-02 12:00:58 weixin_44890732 阅读数 2

字符串

# !coding=utf-8#
'''
字符串:单引号或双引号括起来的任意文本
‘abc’
"def"
字符串不可变
'''
# 创建字符串
str1 = "gxd is a good man"
str2 = 'gxd ia a nice man'
str5 = "sunck"

'''
字符串运算
'''
str6 = 'gxd'
str7 = 'is a good man'
str8 = str6 + str7
print str6, str7, str8
print(id(str6), id(str7), id(str8), id('gxd'))
# 输出重复字符串
str9 = 'good'
print str9 * 3
# 通过索引下标查找字符串中的字符,从0开始
str11 = u'g我d is a good man'
print str11[1]
# str11[1]='a'  会报错的

# 截取字符串中的一部分 从0开始,包前不包后
str13 = '0123456789'
str15 = str13[4:10]
print 'str15=', str15
# 从头截取
str16 = str13[:5]
print 'str16=', str16
# 截取到最后
str17 = str13[5:]
print 'str17=', str17
#  in 和 not in
print 'good' in str1
print 'good1' in str1
print 'good1' not in str1
# '''
# 格式化输出,占位符   %d:整数
#                     %f:浮点数
#                     %s:字符串
#                     %.3f:精确到小数点后三位,四舍五入
#  转义符'\ '   \n :换行符,只是表示一个字节
#
# '''
str19 = 'gxd is a nice man!'
num1 = 10
f=10.22125
print('num1 = %d,\nstr19 = %s\nf=%.3f' % (num1, str19,f))
print('gxd is \\n a good man!')
#
print('Tom is a \'good\' man!')
print("Tom is a \"good\" man!")
#如果字符串内有多个换行,
print('''good
nice
handsome''')
#\t
print('good\tman')
#r:取消转移符:用r表示内部字符串不转义
print(r'\\\t\\t\\')

2018-11-11 21:08:22 qq_43668491 阅读数 78

题目描述

gxd今天去府衙逛街,在公交车上他遇见了一老媪,老媪睡着了,当她醒来发现坐过站了之后立即要求司机停车,但是公交公司规定正常情况下不到站牌是不可以停车开门的,可老媪非要司机停车,还扯司机的方向盘,用手机打司机的头,gxd看到了,从内心涌上一股恐惧感,感觉自己再不有所行动可能就要坠入死亡的深渊了,然后他二话不说一个跨步飞上去就把老媪拉过来了......左勾拳,右勾拳,无影腿一顿暴打,打的老媪哭爹喊娘,于是乎gxd就跟老媪约定,两个人每人说一首英文歌名,谁的歌名里包含的‘w’(包含大小写)字符比较多,谁就胜,如果gxd胜了,老媪就要向全车的人道歉,并向司机赔偿精神损失费,如果老媪胜了,gxd就要带老媪去医院包扎伤口(老媪被gxd打的跪地上起不来),现在请你来评判一下他们谁胜。

输入

输入两个字符串分别是gxd的歌名,老媪的歌名(字符串长度小于1000)

 

输出

如果gxd歌名里w或W的数量较多或等于老媪歌名中的数量,输出 I'm the best
否则,输出 You take me to the hospital

样例输入

Welcome to NewYork
Way Back Home

样例输出

I'm the best

对一些有代码基础的人来说算是比较简单,没有坑点,下面是AC代码

#include <iostream>
#include <cstring>

using namespace std;
int main()
{
    char qwq[1001],qaq[1001];//由题可知字符串长度小于1000,习惯原因我这里稍开大一些
    int i,numqwq = 0,numqaq = 0;
    gets( qwq );
    gets( qaq );//由样例可知输入中带有空格字符,所以选择用gets函数
    int lenqwq = strlen( qwq );
    int lenqaq = strlen( qaq );//这里strlen函数的作用是求字符串长度,需要头文件string.h
    for( i = 0 ; i < lenqwq ; i++)
    {
        if( qwq[i] == 'W' || qwq[i] == 'w')
        {
            numqwq++;
        }
    }
    for( i = 0 ; i < lenqaq ; i++)//这两个for循环遍历数组,寻找其中W与w的个数
    {
        if( qaq[i] == 'W' || qaq[i] == 'w')
        {
            numqaq++;
        }
    }
    if( numqwq >= numqaq )//题目中有这样一句话“如果gxd歌名里w或W的数量较多或等于老媪歌名中的数量”
    {
        printf("I'm the best\n");
    }
    else
    {
        printf("You take me to the hospital\n");
    }
    return 0;
}

 

python 类的学习

阅读数 91

初赛方案完成~~

阅读数 982

没有更多推荐了,返回首页