test

接口自动化测试,完整入门篇

雨燕双飞 提交于 2020-03-18 17:39:45
接口自动化完整入门篇: https://www.cnblogs.com/lovesoo/p/7845731.html 接口自动化脚本 # encoding: utf-8 import sys import os reload(sys) sys.setdefaultencoding("utf-8") import requests import json from datetime import datetime as dt import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from functools import partial from nose.tools import * def send_mail(): # 读取测试报告内容 with open(report_file, 'r') as f: content = f.read().decode('utf-8') msg = MIMEMultipart('mixed') # 添加邮件内容 msg_html = MIMEText(content, 'html', 'utf-8') msg.attach(msg_html) # 添加附件 msg_attachment =

入门小demo-hash集合

情到浓时终转凉″ 提交于 2020-03-18 16:12:25
创建测试类TestHash (1)存入值 @Test public void testSetValue(){ redisTemplate .boundHashOps( "namehash" ).put( "a" , " 唐僧" ) ; redisTemplate .boundHashOps( "namehash" ).put( "b" , " 悟空" ) ; redisTemplate .boundHashOps( "namehash" ).put( "c" , " 八戒" ) ; redisTemplate .boundHashOps( "namehash" ).put( "d" , " 沙僧" ) ; } (2)提取所有的KEY @Test public void testGetKeys(){ Set s = redisTemplate .boundHashOps( "namehash" ) .keys(); System. out .println(s); } 运行结果: [a, b, c, d] (3)提取所有的值 @Test public void testGetValues(){ List values = redisTemplate .boundHashOps( "namehash" ) .values(); System. out .println(values);

unittest 几个重要概念

空扰寡人 提交于 2020-03-18 15:50:48
unittest是一个python版本的junit,junit是java中的单元测试框架,unittest实现了很多junit中的概念,比如我们非常熟悉的test case, test suite等,总之,原理都是相通的,只是用不同的语言表达出来。 unittest中的4个重要的概念:test fixture, test case, test suite, test runner,我觉得只有理解了这几个概念,才能真正的理解单元测试的基本原理,下面就主要围绕这几个概念来展开这篇文章。 1、Test Case 一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代 码(run),以及测试后环境的还原(tearDown)。单元测试(unit test)的本质也就在这里,一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。 2、Test Suite 一个功能的验证往往需要多个测试用例,可以把多个测试用例集合在一起执行的,就是TestSuite,TestSuit用来组装单个测试用例,可以通过addTest加载到TestCase到TestSuit中,从而返回一个TestSuit实例;而且TestSuite也可以嵌套TestSuite。

字符串的功能

与世无争的帅哥 提交于 2020-03-18 14:21:53
每个数据类型的功能,这里主要讲字符串的功能 int 将字符串转换为数字 a = '123' print(type(a),a) b= int(a) print(type(b),b) 字符串str casefold和lower都能使得所有的变小写,casefold更厉害,很多未知的都可以变小写 v1 = test.casefold() print(v1) v2 = test.lower() print(v2) center设置宽度,将内容居中 test='aLex' v=test.center(20,'*') print(v) ------------------- ********aLex******** endswith检查是否以某个字母结尾 test = 'alex' v= test.endswith('ex') print(v) ---------------- True count在字符串中寻找子序列出现的次数 test = 'aldffd' v= test.count('d') print(v) ---------------- 2 ----------------------- test = 'aldffd' v= test.count('d',1,3) print(v) ----------- 1 format是格式化,将一个字符串中的占位符替换为指定的值 test =

Linux基础(二)-用户、群组、权限

拟墨画扇 提交于 2020-03-18 14:00:09
相关文件 /etc/passwd /etc/shadow /etc/group /etc/gpasswd 相关命令 useradd passwd usermod userdel groupadd groupmod groupdel 权限 相关命令 chown 修改文件的属主 chgrp 修改文件的属组 chmod 设定文件权限 通过修改文件方式用户流程 相关文件 /etc/passwd 存储所有用户的相关信息 jin:x:1001:1001:haha:/home/jin:/bin/bash 根据冒号分割每个字段的意思: 用户名 如果是x,表示该用户登录Linux系统时必须使用密码;如果空则登录时无需输入密码 用户uid (1000前为系统用户,1000后为用户添加用户) 用户所属群组的gid 用户注释信息(如全名或通信地址) 家目录路径 用户登录后,第一个要执行的进程:/bin/bash可登录linux系统,/sbin/nologin该账号不可登录系统  /etc/shadow 所有用户密码文件 /etc/group 系统中所有群组信息 jin:x1010: 根据冒号分割,各个字段含义: 群组名字 这个群组在登录Linux系统时必须使用密码 群组的gid(1000前为系统,1000后用户添加) 这个群组里还有那些群组成员;  /etc/gpasswd 所有群组密码 相关命令

Oracle数据导入、导出dmp文件

余生长醉 提交于 2020-03-18 12:52:49
某厂面试归来,发现自己落伍了!>>> 数据导出,命令exp,将远程数据库中的数据导入到本地,比如你在windows下可以将Linux中的数据库中数据导出到Windows本地。 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中,将Test数据库中所有数据导出到一个dmp文件中。前提是登录用户即system有导出权限。 exp system/manager @TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出,指定导出某些用户的表。 exp system/manager @TEST file=d:\daochu.dmp owner=(system,sys) 3 将数据库中的表table1 、table2导出,指定导出固定的表 exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 数据导入,命令imp 1 将D:\daochu.dmp中的数据导入TEST数据库中。要先删掉将要导入的表,如果是全库导入就删掉所有的表,否则导入过程中会报表已存在的错。 imp system/manager@TEST file=d:\daochu.dmp 2 将d:\daochu.dmp中的表table1导入

论Spring中循环依赖的正确性与Bean注入的顺序关系

丶灬走出姿态 提交于 2020-03-18 12:24:00
某厂面试归来,发现自己落伍了!>>> 一、前言 最近在做项目时候遇到一个奇葩问题,就是bean依赖注入的正确性与bean直接注入的顺序有关系,但是正常情况下明明是和顺序没关系的啊,究竟啥情况那,不急,让我一一道来。 二、普通Bean循环依赖-与注入顺序无关 2.1 循环依赖例子与原理 public class BeanA { private BeanB beanB; public BeanB getBeanB() { return beanB; } public void setBeanB(BeanB beanB) { this.beanB = beanB; } } public class BeanB { private BeanA beanA; public BeanA getBeanA() { return beanA; } public void setBeanA(BeanA beanA) { this.beanA = beanA; } } <bean id="beanA" class="com.alibaba.test.circle.BeanA"> <property name="beanB"> <ref bean="beanB" /> </property> </bean> <bean id="beanB" class="com.alibaba.test.circle

python常用模块-OS模块

最后都变了- 提交于 2020-03-18 12:23:51
关于路径处理问题:OS第三方库方法总结 import os __file__:指当前文件,带有路径的 D:/svn_auto3/test_case1/test1.py(注意这里的斜杠,和abspath的区别就是这里) # 路径操作 >>> os.chdir('D:\\') # 进入目录 # 目录切换操作 >>> import os >>> os.curdir '.' >>> os.pardir '..' >>> os.getcwd() 'C:\\Users\\suyongai' >>> os.chdir('..') >>> os.getcwd() 'C:\\Users' >>> os.chdir(os.pardir) >>> os.getcwd() 'C:\\' # 查看运行路径 >>> os.getcwd() 'D:\\' >>> os.listdir() # 查看运行路径下的所有目录 ['$RECYCLE.BIN', '07', '22f5f432caef7a4ed420ff0479f680be', '2345Downloads', '360安全浏览器下载', '360用户文件', 'a.txt', 'AirtestIDE', 'apache', 'auth', 'automation', 'automation2', 'automation_load',

python常用模块-functools模块

别等时光非礼了梦想. 提交于 2020-03-18 12:20:02
functools模块   functools模块里面放了很多的工具函数,此处我们只介绍常用到的两个: partial函数(偏函数) : 绑定了一部分参数的函数。作用就是少传参数,更短,更简洁。 wraps函数 :避免多个函数被两个装饰器装饰时就报错,因为两个函数名一样,第二个函数再去装饰的话就报错,最好是加上这个,代码更加健壮 # partial函数(偏函数) from functools import partial # 案例1 def add(a, b): return a + b add(1, 2) 3 plus3 = partial(add, 1) plus5 = partial(add, 2) plus3(2) 3 plus5(1) 3 # 案例2 >>> partial_sorted = partial(sorted,reverse=True) >>> partial_sorted(list1) [123, 53, 34, 23] # 案例3 def showarg(*args, **kw): print(args) print(kw) >>> p1=partial(showarg, 1,2,3) >>> p1() (1, 2, 3) {} >>> p1(4,5,6) (1, 2, 3, 4, 5, 6) {} >>> p1(a='python', b='itcast

Mongodb安全认证及Java调用

[亡魂溺海] 提交于 2020-03-18 07:39:20
Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile。 一、单实例 1.启动服务(先不要加auth参数) 2.登陆后切换到admin库并添加管理员账号 2.1 创建系统管理员用户 默认条件下,超级管理员只能用于帐号管理,不能进行其他数据库操作,可以通过自己给自己授权实现。生产环境中的管理员,如果某个帐号包含了角色userAdminAnyDatabase或者userAdmin,就应该仅仅用于帐号和角色管理,不应该再授予别的角色了。 (1)我们首先就要建立一个超级管理员,然后再用超级管理员建立其他帐号: use admin db.addUser( { user: "superman", pwd: "talent", roles: [ "userAdminAnyDatabase" ] } ) (2)为帐号启用admin数据库认证,这样他就可以操作admin数据库了。 db.auth("root", "123456") //为账号授权 db.system.users.find(); //查看当前已有的用户信息 (3)使用用刚才的超级帐号登录数据库(admin)mongo localhost:27017admin -u superman -p superman 现在,我们就可以为其他数据库添加用户了: