后端开发工程师,曾就职于网易、腾讯。现在集度。
[本文出自天外归云的博客园] 介绍 Mitmproxy是一款支持HTTP(S)的中间人代理工具。不同于Fiddler2,burpsuite等类似功能工具,mitmproxy可在终端下运行,并且支持编写脚本来批量处理请求。
[本文出自天外归云的博客园] 之前写过一篇关于nose使用方法的博客。最近在做一元乐购产品的接口测试,结合着python的requests库可以很方便的进行web接口测试并生成测试结果。接口测试脚本示例如下(脚本路径为“E:\forPytest\test_new_product_detail.
[本文出自天外归云的博客园] 从STS的下载到空项目的搭建 1. 下载STS,下载解压缩后点击sts-bundle文件夹中的STS文件启动ide; 2. 创建Spring MVC项目:File->New->Dynamic Web Project->输入Project name; 3.
[本文出自天外归云的博客园] 概述 在传统的软件测试流程中,每一期需求从开发到上线都要经历从需求分析与评审、测试用例评审、开发、测试、发布的流程。其中测试包含了后台测试、前端web测试、客户端测试。
[本文出自天外归云的博客园] 问题 最近在网上搜到了一些练习题,对第十二题稍作修改如下: 敏感词文本文件“filtered_words.txt”,里面的内容: 北京人 人大 北京 程序员 公务员 领导 牛比 牛逼 你娘 你妈 love sex jiangge 当用户输入敏感词语,则用星号“*”替换,例如当用户输入「北京是个好城市」,则变成「**是个好城市」。
[本文出自天外归云的博客园] 问题 最近在网上搜到了一些练习题,改编了一下这里的20题如下:登陆中国联通网上营业厅 后选择「自助服务」-->「查询」-->「账户余额」,然后输出手机号码和可用额度。 思路 1. 通过抓包模拟接口请求的方式和一些爬网的相关方法解决; 2. 通过selenium进行一些web自动化操作解决。
[本文出自天外归云的博客园] 背景 1. 实际工作中涉及到安卓客户端方面的测试,外推或运营部门经常会有很多的渠道,而每个渠道都对应着一个app的下载包,这些渠道都记录在安卓项目下的一个渠道列表文件中。
[本文出自天外归云的博客园] 安装(Python2下安装) pip install nose 原理与命名规则 Nose会自动查找源文件、目录或者包中的测试用例,符合正则表达式(?:^|[\b_\.%s-])[Tt]est,以及TestCase的子类都会被识别并执行。
[本文出自天外归云的博客园] 脚本示例如下: # coding:utf-8 import time,paramiko,re,StringIO def exec_shell(command): ''' command:传入的要执行的shell命令 ''' f = StringIO.
[本文出自天外归云的博客园] 前言 向身边优秀的人学习,不断的思考,向前摸索。以下思考与启示部分来自Zero(网易资深测试专家)和Snail(网易资深测试工程师),余下是我自己的一些思路和在读书(《重新定义管理》)的过程中摘取的总结(不断更新)。
[本文出自天外归云的博客园] Auty 2017——WebMonitor接口检测平台 前篇 接口本地检测平台 本篇 接上篇,在本地检测平台的基础上,去掉本地服务,改功能为线上使用。好处是项目可以多人访问,达到一次部署多处使用的目的,成为一个接口的线上检测平台。
[本文出自天外归云的博客园] 2016Auty诞生 Auty接口测试框架系列 2017一个新的开始 今天早上决定要做一个接口检测平台,现在是2017.1.5日凌晨2:12。我在网易北京研发中心,准备睡单位了。
[本文出自天外归云的博客园] 前篇 用webdriver+phantomjs实现无浏览器的自动化过程 本篇 想法与实现 我想要将博客园“我的闪存”部分内容爬取备份到本地文件,用到了WebDriver和Phantomjs的无界面浏览器。
[本文出自天外归云的博客园] 从64365网站获取全国各地律师电话号,用到了python的lxml库进行对html页面内容的解析,对于xpath的获取和正确性校验,需要在火狐浏览器安装firebug和firepath插件。
[本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口进行压测,对于Locust的使用我们可以归纳为三步: 1. 编写python压力测试脚本; 2. 在命令行中启动Locust服务并指定压测脚本与hosts等信息; 3. 访问Locust本地网址设定并发量并进行压测。
12306上离现在太远的日子的火车查不到,但是接口其实是可以返回的,只是前端上限制了不让查。 通过点击查询按钮进行抓包(F12网络里就可以抓包,也可以通过抓包工具),可以获取到查询的接口以及上行参数。
代码如下: $name = Read-Host "请输入开机启动项的名字(随便起)" $value = Read-Host "请输入开机启动项的值" try{ New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name $name -PropertyType String -Value $value -ErrorAction Stop $tip = "成功添加开机启动项"+$name+"。
[本文出自天外归云的博客园] 昨天(2016.11.30)参加了网易资深测试专家王晓明的测试分享会——“一起打造你想要的QA团队”,以下为笔者做的归纳总结。 重点 1.让测试更加容易做好。不容易测试的代码,不具有健壮性。
在实际测试工作中,经常要将安卓手机通过wifi代理的形式连接到本机的fiddler或charles服务器代理进行抓包测试。最近一直在想,有没有什么方法可以自动设置安卓手机的wifi代理,曾经想通过修改安卓系统配置文件的方式来修改但是没有找到解决方案。
界面版 利用python的wx库写个ui界面,用来把android设备的截图输出到电脑屏幕,前提需要安装adb,涉及到的python库也要安装。代码如下: import wx,subprocess,os,platform class AutyFrame(wx.
持续过滤log脚本 服务器端持续查看log的shell脚本(其中path1和path2替换为路径特征名,“tail -f”后面接的路径替换为路径特征名所对应的log文件路径): #! /bin/sh #Check log.
[本文出自天外归云的博客园] 体系划分 对软件测试行业从各层面进行划分,如下图所示: 职业素养 所谓素养就是能把基本的事情做好,而基本的事情主要分为以下几点: 1. 代码的测试驱动化:积极推动测试驱动在产品需求分析阶段的介入(健壮的产品是可测的,易测的); 2.
[本文出自天外归云的博客园] Locust的介绍 Locust是一个python的性能测试工具,你可以通过写python脚本的方式来对web接口进行负载测试。 Locust的安装 首先你要安装python2.6以上版本,而且有pip工具。
[本文出自天外归云的博客园] 这两天用python2写了一个自动化测试框架,取名为Auty。准备用来做Web方面的接口测试,以下为Auty框架一步一步的搭建过程—— 首先在这里我要感谢我的大师兄朱勃的指点、交流和帮助! Auty文件夹结构介绍 1.
[本文出自天外归云的博客园] 添加动作库 因为有很多调用的action类如果一直保存在utils中会让utils库不可维护,所以规定utils库中只放和框架本身有关的工具类,和脚本内容相关的工具类都放到Auty根目录下的actions文件夹中,注意添加包结构(__init__.py文件)否则脚本在被调用时将不会被找到: 添加常量文件库 由于接口测试中经常要访问url,每一个脚本文件中都会调用url。
[本文出自天外归云的博客园] 垃圾代码回收 添加脚本恢复机制,因为框架会自动生成一些代码,如果代码生成后出现问题导致代码没有正常删除掉,则会造成代码垃圾,在auty目录添加recovery.py文件: # -*- coding: utf-8 -*- import os from lib.
[本文出自天外归云的博客园] 本次对Auty自动化测试框架做些收尾工作,由于在scripts文件夹中的脚本会需要调用其他包结构文件夹中的脚本,所以这里需要添加一下框架对于内部脚本间互相调用的支持,这里需要动态的在脚本运行时为脚本添加四行内容: # -*- coding: utf-8 -*- import os import sys sys.path.append("'+Auty的根目录路径+'") 并且在脚本运行完成后删除这四行。
[本文出自天外归云的博客园] 本次为Auty框架添加生成测试结果报告功能,文件结构更新: 在Auty的lib文件夹中添加generate_result.py文件,用来生成测试结果报告: # -*- coding: utf-8 -*- import os import time i...
[本文出自天外归云的博客园] 本次对框架进行完善,增加了日志收集功能和修饰运行功能,完善后的lib目录如下: 在Auty的log文件夹中会存放一些脚本运行时生成的日志。在运行脚本时,对脚本的异常要有捕捉,并把捕捉到的信息打到日志中去。
[本文出自天外归云的博客园] 在Auty中的文件结构,lib目录下的read_selection.py和execute_selection.py文件: 其中read_selection.py文件的功能是把selection.
[本文出自天外归云的博客园] 在Auty的scripts文件夹中编写一个create_selection.py文件,用于在同级目录下针对同级目录scripts下的所有脚本生成一个selection.txt文件,其中包含所有同级目录scripts文件夹下可执行的python脚本: 代码如下: ...
问题:有大量类似于theProductId这样名字的字符串需要转换成the_product_id这种数据库column名的形式。 思路:见到(见)大写字母(缝)就插入(插)一个“_”字符(针)进去,最后把所有字母都转换为小写。
不断封装一些常用的字符串操作加到这个工具类里,不断积累: package com.netease.lede.qa.util; import java.text.ParseException; import java.
1. 后台测试流程:Git clone项目到本地,在本地切到开发分支,首先查看开发的代码改动,涉及业务逻辑方面的思考。然后针对性进行功能测试,如果测试过程中出现问题,逆向追溯,由现象回归到代码,找到代码中出问题的路径,如果log不鲜明就打些log进去,把一些变量的值输出到后台,以便我们确定是走到哪一步出现的问题导致的功能错误。
担心人人网会黄掉,写个爬虫,把我的相册照片都下载下来。代码如下: # -*- coding: utf-8 -*- import requests import json import os def mkdir(path): path=path.
[本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值、memory是否发生激变甚至泄露、响应结果的error率以及数据库服务器读写方面的情况是否正常等等情况。
1. 本地下载项目源码 1. Git clone项目代码到本地(本地项目代码1)并fetch; 2. Switch到master分支; 3. Create测试分支(例如:test1)并勾选“Switch to new branch”; 4. Push to remote; 5. Merge开发分支到本地测试分支(test1); 6. Push to remote。
——转载请注明出自天外归云的博客园 Postman介绍 Postman是一款web接口测试工具,使用它可以模拟http请求,从而在一定程度上实现了web接口自动化测试的目的。 Postman使用方法 1.
——转载请注明出自天外归云的博客园 用TortoiseGit下载代码到本地 首先需要在本机安装好TortoiseGit。然后在随便哪个路径下比如D盘,右键“Git Clone”: 然后URL处选择项目的git文件url,点“OK”: 之后输入用户名和密码等待代码下载完成,之后点“Close”: 现在你的D盘已经下载好项目代码了,你可以看到对应的文件夹。
环境准备 1. 安装python; 2. 安装pip; 3. 通过pip安装selenium: 4. 下载phantomJS的包并解压缩: 1. 若在Windows系统中,将下载的phantomjs文件夹下bin文件夹下的phantomjs.
Linux文件系统命令 1. 安装火狐浏览器,首先得知道Linux系统是64位的还是32位的 uname -a 2. 将下载的火狐浏览器压缩包移动到指定目录(/user/local)下 sudo mv Firefox**.
写了一段检查Windows下端口占用情况的脚本,代码如下: function checkPid($result,$port){ $port = $port.split(":")[1] if(($result.
以下是Python中通过cx_Oracle操作数据库的过程中我所遇到的问题总结,感谢我们测试组的前辈朱勃给予的帮助最终解决了下列两个问题: 1)安装cx_Oracle会遇到的问题:在Windows下安装cx_Oracle不要尝试用pip install的方式了!下载官网的对应版本的msi安装文件,我的python2.7是32位的,oracle的instantClient也是32位的,这个cx_Oracle也选择32位的下载,安装成功后进入python模式下import cx_Oracle没问题,安装成功。
通过PowerShell的invoke-webrequest和net.client联合实现个人指定项目jira提交数的统计,其中涉及到了JSON对象的提交,代码如下: $content = @{username='用户名';password='密码'} $JSON = $content|convertto-JSON -Compress $jiraUri = "http://jira.
首先不得不说,地下城堡这个游戏非常的不错,很适合消磨时间,尤其炼金这个环节,设计的非常好!你必须足够有耐心才能在单位时间内获取到足够多的金币(其实就是不断的点,非常的机械化)。我就想,能不能弄个小脚本儿五的六的,替我玩儿游戏呢?(一直是被游戏玩儿,从未玩儿过游戏) 所谓地adb四个好东西啊,这个adb能够让你实现对安卓设备的一些自动化操作。
通过jdbc连接数据库,拢共分三步: 第一步:下载一个JDBC的驱动,然后把jar包扔到项目里并add to build path; 第二步:去本地oracle文件夹下找到“TNSNAMES.ORA”文件,打开找到对应数据库的连接字符串,作为jdbc的连接字符串; 第三步:写代码,通过jdbc连接数据库。
通过调用JIRA Rest web api实现统计自动化,首先进行登录模拟: $content = @{username='用户名';password='密码'} $JSON=$content|convertto-JSON -Compress $res = Invoke-WebReques...
在Jira上通过过滤器我们可以做出多种视图,以方便统计我们想要收集的结果。比如:我想查看所有分派给我的任务。在Jira上,我保存了一个过滤器,叫做“分派给我的所有任务”。这个过滤器可以过滤出所有分配给我的任务。
今天,遇到了这样一个问题。这个问题经历了两轮测试并没有被发现。 背景 这次测试的内容是一个活动页面,需求的情景是从app内访问链接并进入到这个活动页面,伴随着自动登陆(不需要用户输入用户名和密码,对app的用户登录状态进行获取并进行自动登录)。
脚本内容如下: Write-Host "本机IP地址为:"(ipconfig|findstr "IPv4")[1].split(":")[1] -ForegroundColor Green Read-Host "输入任意键退出" 也可以根据你的需求随机应变: Write-Host "本机IP地址为:"(ipconfig|findstr "IPv4"|findstr "xx.