自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 收藏
  • 关注

原创 外包公司值不值得去?

一、目录:1、什么是外包岗位2、外包岗位的优缺点3、外包岗位面试有什么特点?二、 前言:在我们IT行业,外包公司主要分为“人力外包”和“项目外包”。人力外包指的是On Site形式,就是员工的工作地点在客户公司的内容。“项目外包”的形式指的是把接到的项目拿到本公司来做,客户和我方是甲乙方的关系,这跟非外包(公司做自己的产品)职位没有什么不同,所以不做讨论。因为有的朋友对外包还不太了解,所以我再举个例子:比如公司A与某家银行签订了外包服务协议,为银行提供外包人员。你到公司A去应聘,面试通过后,公司

2020-06-18 15:09:28 5891

原创 一个资深程序员的忠告

你是否了解,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开发的关键阶段需要团队的成员没日没夜的加班,还需要为测试出的BUG和不能按时提交的软件模块功能而心怀忐忑。有的时候如果你不幸加入现场开发的团队你则需要背井离乡告别你的女友,进行封闭开发,你平时除了编码之外就是吃饭和睡觉。有钱的公司甚至请个保姆为你做饭,以让你节省出更多的时间来投入到工作中,让你一直在那种累了就休息,不累就立

2020-06-13 21:45:53 4620 5

原创 如何使用Fabric自动化

前言:Fabric是一个Python库,可以通过SSH在多个host上批量执行任务。你可以编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量远程服务器上自动运行。这些功能非常适合应用的自动化部署,或者执行系统管理任务。让我们首先看一个例子。我们知道在*NIX下面,uname命令是查看系统的发行版。可以写这样一个Fabric脚本:from fabric.api import rundef host_type(): run('uname -s')将上面的脚本保存为fab..

2020-07-31 16:08:02 341

原创 Selenium—WebDriver简介及元素定位

一、WebDriver原理1、关于WebDriver设计模式:按照Server-Client的经典设计模式设计;Server端:即Remote Server(远程服务器),可以是任意的浏览器,当脚本启动浏览器时,该浏览器就是Remote Server,它的职责是等待Client发送请求并做出响应;Client端:简单来说就是我们的测试代码,测试代码中的一些行为是以HTTP请求的方式发送给被测试浏览器——Remote Server,Remote Server接受请求,执行相应操作,并在Re..

2020-07-29 15:46:38 320 1

原创 Web自动化测试从基础到项目实战之一启动不同的浏览器及配置

 在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改。首先当我们测试环境有了之后我们需要做得就是去配置我们的driver,这里的driver你可以理解为就是我们脚本和浏览器之间的桥梁。在selenium里面一些简短的教程会这样写: 1 2 3 #coding=utf-8 fromseleniumimportwebdriver driver=webdriver.Chrom...

2020-07-28 21:12:34 300

原创 adb命令实战十三步

一、获取系统版本adb shell getprop ro.build.version.release二、手机文件拉取到电脑adb命令 :adb pull source_path dest_path示例输出:adb pull /sdcard/Movies/app_layout.txt ./从手机拉取app_layout.txt文件到当前路径。三、电脑文件推送到手机adb命令 :adb push source_path dest_path示例输出:adb pu..

2020-07-27 21:45:31 241

原创 运用Jmeter参数化来实现接口自动化测试

本文记录如何使用Jmeter参数化(csv)实现接口自动化——测试Token不同入参情况下,接口请求能够返回正确的结果1. 首先需要使用Jmeter获取一个Token,如何获取暂略(同一般访问请求方式一样)2. 在Jmeter中添加以下元件(红框)3.新建CSV文件,命名为Token,将测试点填写进入, 第一列为Token不同入参, 第二列为response code, 第三列为测试点描述(此三个值后面都会用到)4. 右击线程组,添加CSV Data Set Config元件,并

2020-07-27 16:14:37 208

原创 如何简单运用robotFramework 读取Excel文件

第一步:先安装ExcelLibrary可以直接通过命令安装:pip install robotframework-ExcelLibrary安装完成后使用pip list命令查看是否安装成功第二步、安装完后将ExcelLibrary导入到Robotframework中把ExcelLibrary导入后,就可以开始使用关键字进行Excel操作了第三步、使用关键字操作Excel打开Excel:open Excel  ,注意:需要打开的excel必须是xls格式;所以保存exc..

2020-07-25 20:34:55 664

原创 python内置函数集合

一、数学运算类abs(x) 求绝对值 1、参数可以是整型,也可以是复数 2、若参数是复数,则返回复数的模 complex([real[, imag]]) 创建一个复数 divmod(a, b) 分别取商和余数 注意:整型、浮点型都可以 float([x]) 将一个字符串或数转换为浮点数。如果无参数将返回0.0 int([x[, base]]) 将一个字符转换为int类型,base表示进制 long([x[, base]]) ...

2020-07-24 20:54:19 146

原创 接口自动化—剖析接口本质并搭建接口自动化环境

一、接口的本质接口就是一个函数,通过将接口部署到web容器(tomcat,jboss,weblogic等),发布服务后,就可以通过一个url地址去访问到接口了。而接口文档里面描述的接口参数呢其实就是函数的参数,接口的返回数据就是函数的返回值。即:接口=函数,接口参数=函数参数,接口返回值=函数返回值。以如下接口项目中的“获取用户列表”接口为例,它其实就对应了后台的一个这样的一个同名函数: 1 2 3 4 5 6 7 8 9..

2020-07-23 22:04:31 172

原创 python接口自动化测试—环境准备

导读:接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当工具不太适合项目时需要自己进行开发。  在我们项目的初期,我们采用的是jmeter进行接口测试,当时觉得这个工具上手简单,团队成员学习成本低,并且接口测试的脚本稍微调整一下还可以用来做性能测试。  为了让大家能更加深入的掌握接口测试,很早就在打算写些简单的使用代码方式来做接口测试的入门教程..

2020-07-22 18:01:45 243

原创 python接口自动化—mock模块的基本使用

一、mock简介mock原是python的第三方库python3以后mock模块已经整合到了unittest测试框架中,不用再单独安装Mock这个词在英语中有模拟的意思,因此我们可以猜测出这个库的主要功能是模拟一些东西准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为既然mock已经被整合到了unittest单元测试框架中,可想而知mock的目的就是为了让我们更好的进行测试二、mock作用..

2020-07-21 20:19:54 157

原创 简单的Android UI自动化用例设计技巧

一、封装方法1、编程如何越来越快:  首先,需要经验丰富,知识面广。  其次,每一个熟练编程的人员,都会有自己的一个库,解决各种问题、各种通用的方法函数。  同理,自动化脚本也是编程,测试用例则为需求,UI自动化编写虽然容易,但是界面变化快、维护庞大。所以封装通用方法,是最快最容易的途径。2、哪些方法需要封装:  公共的操作方法  经常使用的步骤:超过两次以上  经常使用的组件:输入框、文本框、列表  经常操作的布局:多个组件组成通用的布局  经常操作的页面:ui..

2020-07-20 21:24:57 392

原创 Web UI的自动化测试

1、为什么我们需要UI自动化测试?UI自动化测试的focus应该在哪几个方面?  测试自动化并不是为了赢得老板的赞赏,或者认为这是一个很潮的技术,不用就会落后,而是为了发现问题,提高产品的质量。做UI自动化测试的主要目的也是基于此的。 除此之外,UI自动化测试还可以从一个最终用户的角度来发现问题,对大数有UI的系统来说,UI是最理想的集成/系统测试入口,也是最需要测试的地方。  UI自动化测试应该集中在:  1)UI的文本,图片显示正确性  2)UI的交互逻辑正确性测试  3)UI上..

2020-07-20 16:48:01 1016

原创 Python3+requests搭建接口自动化测试框架

一、接口自动化的意义新版本上线时之前版本的功能需要进行回归测试,导致大量的重复性手工测试。引入自动化测试可以使用自动化技术代替部分手工的回归性测试,解放更多人力做其它更有必要的事情。但目前项目UI变动频繁,而接口一般不会做大变动所以先暂时做接口自动化。使用接口自动化可以做上线前接口功能的回归性测试,也可以定时巡检线上环境接口的运行情况,能及时发现线上环境接口问题并解决。同时此框架可以帮助不会写代码的测试同事进行接口自动化的相关工作。二、准备工作 开发语言:Python3需要安装的模...

2020-07-19 21:51:15 482

原创 python自定义封装logging模块

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...

2020-07-19 20:46:36 542

原创 Jmeter的精简测试脚本

通过jmeter代理录制脚本后,会产生大量的无用的请求,尽管在代理中已经过滤了一部分图片或者CSS、JS文件。手动查看主要的请求:这里主要关注登陆请求,要确定有效的URL请求删除除/Login.aspx请求以外的所有请求或者置为不可用状态BS系统录制成功后,一定要添加HTTP Cookie Manager,否则脚本运行失败,切记放到请求的上面添加结果树和聚合报告,查看请求数据和返回数据创建了一个测试交流群,如果对软件测试、接口测试、自动化测试、..

2020-07-19 16:58:37 138

原创 JMeter常见错误解决方法—你知道几种

1、Windows 平台,双击 jmeter/bin 目录下 jmeter.bat 文件,jmeter 无法启动且报错如下:此问题是没有配置 jdk 环境变量所致,配置好 jdk 环境变量即可。2、若提示 ERRORLEVEL=3 错误,则是因为当前系统安装的 jdk 版本过低,不符合 jmeter 要求所致,安装对应版本的 jdk 即可解决问题。如:jmeter3.x 要求 jdk版本最低为 1.7,若 jdk 版本低于 1.7,启动就会 报 ERRORLEVEL=3 错误。3 、..

2020-07-17 22:19:15 3690

原创 只会用jmeter测试http? No,今天咱们学一下jmeter的ftp下载文件

FTP服务主要提供上传和下载功能。有时间需要我们测试服务器上传和下载的性能。在这里我通过JMeter做一个FTP测试计划的例子。官网介绍见:http://jmeter.apache.org/usermanual/build-ftp-test-plan.html1.创建一个线程组2.线程组--->添加--->配置元件--->FTP请求缺省值:输入服务器名称或IP。3.线程组--->添加--->Sampler--->FTP请求:选择get为上传方式..

2020-07-17 21:51:21 91

原创 jmeter录制脚本

前言LoadRunner有录制脚本的功能,Jmeter想必也是有的。(之前看的工具对比中,貌似就LR中的IP欺骗是Jmeter不具有的,转而用其他方式实现的。),Jmeter录制脚本常用的有两种方式:一、利用代理录制1、创建一个线程组鼠标右键点击测试计划--->添加--->线程组2、创建一个http代理服务器鼠标右键点击工作台--->添加--->非测试元件--->http代理服务器分组详解:a)不对样本分组:所有请求全部罗列b)...

2020-07-17 16:40:10 136

原创 JMeter的参数化如何去实现

参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。一、准备脚本,测试数据1、录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面。如下:2、我们需要“参数化”的数据,用记事本写了五个用户名和密码,保存为.dat格式的文件,编码问题在使用CSV Data Set Config参数化时..

2020-07-17 15:39:31 173

原创 使用自动化框架设计的两种断言

一、断言失败立即终止用途一:用例的预期结果是其他用例的前提条件时,assert 失败需要立即终止,这是我们设计自动化测试用例时最常见的场景。用途二:用例中的任何一个步骤执行失败时,立即终止,因为步骤都执行失败了,没有继续执行下一步的必要。方案:思路与用途一类似,这里把每个测试步骤当做都有一个预期结果(True),封装每一个具体步骤,步骤结果返回布尔值。对该结果进行 assert,False时立即终止。 1 def click(self, step): 2 method_name..

2020-07-16 17:45:37 240

原创 如何用Linux静态库生成指南

Linux上的静态库,其实是目标文件的归档文件。在Linux上创建静态库的步骤如下:1.写源文件,通过gcc -c xxx.c生成目标文件。2.用ar归档目标文件,生成静态库。3.配合静态库,写一个使用静态库中函数的头文件。4.使用静态库时,在源码中包含对应的头文件,链接时记得链接自己的库。一、写源文件,生成目标文件第一个源文件 my_print.c#include <stdio.h>void cout(const char * message)...

2020-07-16 17:28:17 100

原创 linux——自动化

前言:linux系统的web网站在运营状态时,我们常需要对网站进行维护,例如查看资源剩余并做出响应、日志分割、数据整理,在特定状态执行特定任务等等,这些都会需要linux能实现自动执行某些任任务。本篇博文介绍如何进行常见的linux自动化任务。实现“自动化”有如下好处:1.节省人力,一个脚本就够了。2.在夜晚自动执行可以避开网站流量高峰期,不影响网站白天的效率。3.准确,设置完善的情况下,不会出差错。4.当然最重要的还是省心了,不用频繁的敲某些命令了。一、开机启动开机启动..

2020-07-16 15:40:38 204

原创 Linux Shell编程入门

前言:从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne

2020-07-16 12:03:26 95

原创 Fiddler抓包/Postman 接口自动化

一、Fiddler抓包常见的http 状态码● 100●101●200●201●202●203●204●301●404●500二、Postman 接口自动化添加断言pm.test("limit=1,返回数据的长度应该为1", function () { var jsonData = pm.response.json(); console.log("json data == ",jsonData...

2020-07-16 11:11:03 765

原创 如何做自动化的项目封装

tasks\user_module.robot*** Settings ***Documentation 用户模块... 用户购物车... 用户订单Resource ../resources/common.robot*** Test Cases ***我的购物车模块 用户登录 helloworld 123456resouc...

2020-07-15 22:03:55 574

原创 Python值hashlib的详解

一、hashlib的基本概念1、什么叫hash:hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值2、hash值的特点是(hash值/产品有三大特性:):2.1 只要传入的内容一样,得到的hash值必然一样=====>要用明文传输密码文件完整性校验2.2 不能由hash值返解成内容=====..

2020-07-15 21:52:16 147

原创 Python的爬虫原理

前言简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML、JS、CSS代码返回给浏览器,这些代码经过浏览器解析、渲染,将丰富多彩的网页呈现我们眼前;一、什么是爬虫如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(..

2020-07-15 20:56:02 136

原创 遇到一个新项目怎么办,不要慌,乘风破浪!

前言:最近《乘风破浪的姐姐们》正在热播中,这档主打“30+”女性成长的节目让观众们感受到了即使年龄已经不再年轻,但是仍然可以乘风破浪!但是在生活中我们也会碰到很多棘手的事情,比如很多测试同学刚接手一个新项目的时候,不知道怎么着手,特别是遇到一些比较特殊的行业,接触的比较少,一大串的专业名词看不懂记不住,肿么办呢?一、首先知道项目是做什么的接手一个新项目时,你肯定要了解到这个项目途径是什么?是后台管理还是面向用户的,项目的客户、受众群体是谁,站在他们的角度对整个项目测试。很多同学在面试..

2020-07-15 17:50:22 438

原创 web测试的基本测试点

一、什么是Web测试如果要了解web测试,首先我们的清楚web项目是什么,一般指本b/s架构项目也就是通过浏览器进行访问的,在日常生活工作中,基于web系统的应用非常多。打开电脑,抢火车票我们会登陆12306网站,添置衣物我们会登陆天猫,购置电器我们会上京东... 对于这类项目的测试我们就说进行的web测试。二、Web测试的特点从系统架构来看的话,一般都是b/s架构,基于浏览器的项目,所以只要更新了服务器端,客户端就会同步更新。基于这种架构,web测试除了需要检查和验证功能、界面是否按...

2020-07-15 16:37:33 7394

原创 白盒测试中的六种覆盖方法

摘要:白盒测试作为测试人员常用的一种测试方法,越来越受到测试 工程师的重视。白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。因为对于不同复杂度的 代码逻辑,可以衍生出许多种执行路径,只有适当的测试方法,才能帮助我们从代码的迷雾森林中找到正确的方向。本文介绍六种白盒子测试方法:语句覆盖、判定 覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。一、白盒测试的概述  由于逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。由于我..

2020-07-14 21:55:55 1438

原创 如何保证黑盒测试的覆盖率

一、首先测试需求分析要全面测试需求分析分两步:1、测试需求的获取需求的来源:1)显式需求:(1)原始需求说明书(2)产品规格书(3)软件需求文档(4)有无继承性文档(5)经验库(6)通用的协议规范2)隐式需求:用户的主观感受,市场的主流观点,专业人士的评价分析2、需求的分析 ,产生测试需求文档将不同的需求来源划分成一个个需求点,针对每一点进行测试分析:(1)界定测试范围(2)利用各种测试设计的方法产生测试点1)在测试方法方面,可做如下注意:1...

2020-07-14 21:28:11 866

原创 自动化运维—Ansible

前言Ansible是自动化运维的工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,ansible提供一个框架,通过模块实现批量部署。一、安装,使用1 安装Ansible使用epel的源安装,添加epel源此处不详述。 1 # yum install ansible --enablerepo=epel 2 设置密钥登录生成SSH公钥密钥对 1 ...

2020-07-14 16:54:37 101

原创 unittest之断言

在测试用例中,执行完测试用例后,最后一步是判断测试结果是 pass 还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert)。用 unittest 组件测试用例的时候,断言的方法还是很多的,下面介绍几种常用的断言方法:assertEqual、assertIn、assertTrue一、案例: 1 2 3 4 5 6 7 8 9 10 11 12 13 1...

2020-07-13 22:00:42 256

原创 unittestst框架的注意点

我们都知道python有一个单元测试框架pyunit,也叫unittest,类似于java的junit。功能也比较丰富,他也有初始函数setUp(self), 清理函数tearDown(self),它有两只执行方式:一、使用时首先我们的测试类要继承于unittest.TestCase. 然后把我们的测试都放到unittest.TestSuite()容器中,最后使用 unittest.TextTestRunner().run(suite)方法自动测试二、编写的测试用例类继承unittest.Te...

2020-07-13 20:29:06 203

原创 unittest—批量用例管理

我们日常项目中的接口测试案例肯定不止一个,当案例越来越多时我们如何管理这些批量案例?来看一下在unittest框架中如何管理批量案例:一、手工加载批量用例:# -*- coding:utf-8 -*-# 批量用例执行--手工加载import unittestclass TestOne(unittest.TestCase): def setUp(self): print '\ncases before' pass def test_..

2020-07-13 18:04:00 136

原创 pytest+Allure生成测试报告

简介:  python 主流自动化测试报告插件有三个:HTMLTestRunner、BeautifulReport 和 Allure。HTMLTestRunner是一个比较古老的报告模板,界面也不是很好看。BeautifulReport 界面很简洁,看起来也很直观,是一款比较不错的报告插件。如果你想提升一下你的level,让你的自动化测试报告变得高大上,那么请选择 Allure 。  Allure 是一款轻量级的开源自动化测试报告生成框架。它支持绝大部分测试框架,比如 TestNG、Junit...

2020-07-11 21:45:26 679

原创 Pytest 使用简介

前言  pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效,支持315种以上的插件,同时兼容 unittest 框架。这就使得我们在 unittest 框架迁移到 pytest 框架的时候不需要重写代码。接下来我们在文中来对分析下 pytest 有哪些简洁、高效的用法。一、安装首先使用 pip 安装 pytestpip3 install pytest查看 pytest 是否安装成功pip3 show pytest二、简单使...

2020-07-11 21:06:04 170

原创 pytest与unittest区别

一、用例编写规则 1.unittest提供了test cases、test suites、test fixtures、test runner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:(1)测试文件必须先import unittest(2)测试类必须继承unittest.TestCase(3)测试方法必须以“test_”开头(4)测试类必须要有unittest.main()方法 2.pytest是python的第三方测试框架,...

2020-07-11 18:05:41 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除