摘要: 公司最近有一个项目,需要持续发送大量的 Json 请求到服务器,从而测试服务器可靠性。 我就发送 Json 请求部分发布这个博客。 一般来说, Json 请求的数据都保存到 CSV 文件中,然后使用 Jmeter 不断的从文件中读取 Json,不断的发送。 在这一部分,目前互联网上主流的处理方式是, 阅读全文
posted @ 2016-09-20 11:36 chenpassion 阅读(1319) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2014-11-07 17:37 chenpassion 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 一、 简述可以用于监视CPU使用率、内存使用率、硬盘读写速度、网络速度等。Perfmon提供了图表化的系统性能实时监视器、性能日志和警报管理,系统的性能日志可定义为二进制文件、文本文件、SQLSERVER表记录等方式,可以很方便地使用第三方工具进行性能分析。perfmon.exe 文件位于C:\Wi... 阅读全文
posted @ 2014-09-23 15:29 chenpassion 阅读(2660) 评论(0) 推荐(0) 编辑
摘要: 1. 在应用Jmeter进行施压之前,有个重要的端口需要手动查找出来。该端口在第三部要使用。开始——程序——microsoft SQL Server 2008R2——配置工具——SQL Server 配置管理器进入SQL Server Configuration Manager,点击SQL serv... 阅读全文
posted @ 2014-07-17 17:01 chenpassion 阅读(353) 评论(0) 推荐(0) 编辑
摘要: Log形式多种多样,有的时候跟下面一样:首先的解决方案就是:修改server.xml中所有的端口,因为不只8080端口可能被占用!我在出问题的时候就修改8080端口。结果死活运行不了,纠结一些时间之后才发现是其它的两个端口也被占用了。11-Jul-2014 16:53:16.703 INFO [ma... 阅读全文
posted @ 2014-07-11 17:14 chenpassion 阅读(2995) 评论(0) 推荐(0) 编辑
摘要: Jmeter里面有三种线程组:setUp thread group, TearDown thread group, thread group. 如果想定义100个用户登录系统,60个用户做A操作,40用户做B操作。我认为可以这样定义:1. 测试计划中复选框“独立运行每个线程组”应该是非选中状态;2.... 阅读全文
posted @ 2014-07-08 10:39 chenpassion 阅读(1344) 评论(0) 推荐(1) 编辑
摘要: Watir使用过程中,经常遇到的弹出框分为几类:1. Alert2. Confirm3. Prompt4. File selectWatir 处理弹出框,有很多方法,可以应用 AutoIt来处理,也可以通过 RAutomation来处理。AutoIt的局限性是无法跨平台,所以在Watir 4.0中被... 阅读全文
posted @ 2014-04-17 16:50 chenpassion 阅读(771) 评论(0) 推荐(0) 编辑
摘要: RAutomation的用法require "rautomation"# 通过匹配部分标题来获取窗口window = RAutomation::Window.new(:title => /part of the title/i)window.exists? # => truewindow.title... 阅读全文
posted @ 2014-03-13 17:49 chenpassion 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 为公司的部署工程师书写了一个autoIt应用程序,现在遇到下面的一种情况:产品分服务器端和客户端,启动的时候,会启用1785端口,然后彼此通信;现在我的autoIt应用程序需要做的事情是:如果1785端口被占用,该怎么办?如果部署工程师熟悉配置文件,把端口1785更换成别的端口怎么办?解决方案如下:1. 产品开发组应该配置自己的端口为不常用端口,定义一个小的范围,于是可以通过AutoIt,判断目前配置的端口是否在1700-1710之间,只要在这个之间,就来判断该端口是否打开,如果打开了,就可以考虑关闭使用该端口的应用程序;如果不在 1700-1710之间,就给出提示信息:端口信息配置有误,让实 阅读全文
posted @ 2014-01-09 16:41 chenpassion 阅读(1309) 评论(0) 推荐(0) 编辑
摘要: 有时候,我们会遇到以下情况:你想与局域网中的某台机器建立连接,你就需要输入对方的机器名。现在我比较懒,我不想输入对方的机器名,或者对方的机器名很难记住,那怎么办呢?那就做一个combox在页面上,当点击某按钮的时候,局域网中所有的机器名就会呈现在combox列表中,这样,只需要选择就可以了,能够满足一些懒人的要求。1. 首选,DOS命令中的net view,可以查看局域网中所有的机器名,于是就有下面的函数:_GetDOSOutput, 可以把net view的结果完整的呈现出来;2. Net view出来的结果是一个大字符串,我们需要的是机器列表,所以要处理这个大字符串,于是就有了函数:sea 阅读全文
posted @ 2013-12-31 11:38 chenpassion 阅读(989) 评论(0) 推荐(0) 编辑
摘要: 以前,公司的实施人员配置好项目之后,不同的机器之间经常性的无法建立链接,后来发现是防火墙的设置。虽然是个小问题,但是经常性的忘记这个配置。现在,我决定把对防火墙的设置,加入到我给实施人员的配置工具中。打开防火墙其实很简单,代码如下:#RequireAdminRun(@ComSpec & " /c " & 'Netsh advfirewall set currentprofile state on', "", @SW_HIDE)该命令以管理员身份运行才能起作用,所以需要 #RequireAdmin如果要关闭防火墙,只需要把R 阅读全文
posted @ 2013-12-31 11:06 chenpassion 阅读(1369) 评论(0) 推荐(0) 编辑
摘要: Sometimes, we have to use AutoIt script to edit an xml, add a node or remove a node, to make some deployment documents fitable to some project.I have picked up a piece of script function about it as below:Func append_node($SourceFile) $objDom = ObjCreate("Microsoft.XMLDOM") $objDom.load($S 阅读全文
posted @ 2013-12-20 15:37 chenpassion 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 俺是 XML XPath的新手,最近因为项目需要,研究了一下基本的两个函数 SelectSingleNode和SelectNodes 是如何实用通配符的,分享以下基本经验:假设有段XML 如下所示: 190 0 1920 1080 1 180 0 1920 1080 ... 阅读全文
posted @ 2013-11-19 12:03 chenpassion 阅读(970) 评论(0) 推荐(0) 编辑
摘要: 项目组这次要发布一个项目,需要实施人员根据现场的机器情况,修改项目配置文件的几个节点,为了减轻实施人员的工作负担,我应用AutoIt写了一个小界面,实施人员只需在该界面上点几个按钮,就能够完成文件的配置。完成后的界面如下:该AutoIt程序的难点就在xml的读取,修改。我把读取,修改xml的AutoIt代码分享一下:;调用微软自带的XML解析对象$objXML = ObjCreate("Microsoft.XMLDOM");加载xml文件,$SourceFile就是需要解析的XML文件路径$file_load = $objXML.load($SourceFile);写一个简 阅读全文
posted @ 2013-11-12 17:49 chenpassion 阅读(3064) 评论(1) 推荐(0) 编辑
摘要: 版本六中存在一个显著问题是:当exe文件生存之后,运行的时候,通过consoleWrite函数打印出来的数据是无法展示出来的。这就存在一个问题:当运行失败的时候,我还是看不到任何log信息。于是,我对程序再次进行了优化,代码如下:#include #include #include #include #include #include #include #include Opt("WinTitleMatchMode")AutoItSetOption("SendKeyDelay")AutoItSetOption("WinWaitDelay&quo 阅读全文
posted @ 2013-11-08 13:30 chenpassion 阅读(1350) 评论(0) 推荐(0) 编辑
摘要: 自动化操作的稳定性,便利性虽然已经满足了要求,但是页面上呈现的按钮太多了,可以做的更加简单一些。1. 简化页面的按钮,把5个按钮减少至3个,把Display HID按钮功能整合到create license里面;把保存图片按钮功能放到保存License操作中;2. 优化输入框。由3个简化为2个,因为HID是固定的,不应该支持手动修改,而expired date默认为当前日期延后2个月,是支持修改的;代码如下:#include #include #include #include #include Opt("WinTitleMatchMode")AutoItSetOption 阅读全文
posted @ 2013-11-05 10:16 chenpassion 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 其实,每次只要输入License文件的路径,相应的HID就能够根据路径,或者该路径下的txt文件名称或者txt文档中的第一行字符串自动获取,所以为了进一步简化手工操作,对代码可以进一步优化,只要输入一个包含License文件,hid文件的路径,其余的事情,都可以自动化完成。代码如下:#include #include #include #include #include Opt("WinTitleMatchMode")AutoItSetOption("SendKeyDelay")AutoItSetOption("WinWaitDelay&quo 阅读全文
posted @ 2013-11-04 14:21 chenpassion 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 在该自动化项目实用过程中,虽然一定程度上提高了工作效率,但是偶尔的不作为,让人不是很爽。我花了一些时间对代码进行了再次优化,执行效率得到了显著提高。代码优化的主要地方是:set_License那一块儿,常见的问题是:焦点获取不正确,导致send命令把Date或者HID发送到不合适的地方。优化的途径是:1. 写一个init方法,当调用该方法的时候,把焦点放到Grid的前列;2. 写一个collapse方法,当调用该方法的时候,把Grid中展开的所有方法都收缩起来,防止send发送命令到不合适的地方;3. 加了一个焦点判断。因为有几个控件的control ID是一致的,当实用controlGetT 阅读全文
posted @ 2013-11-04 14:17 chenpassion 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 最近频繁的用到上面的代码,我经过仔细思考之后,对代码进行了优化,如下:1)每个打印前面加入时间戳,防止调试的时候什么都看不出来;2) 加入了错误验证,防止窗口弹出失败,验证无法成功,应用程序就挂在哪儿了。#include #include Opt("WinTitleMatchMode");区域截图Func screen_capture($path) if FileExists($path)= 0 or StringInStr($path,"\")=0 Then MsgBox(0, "Path Error", "Please 阅读全文
posted @ 2013-11-04 14:15 chenpassion 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 为了提高以前的代码的工作效率,以及页面的美观程度,对代码进行优化,优化后的代码如下:#include #include Opt("WinTitleMatchMode");区域截图Func screen_capture($path) if FileExists($path)= 0 or StringInStr($path,"\")=0 Then MsgBox(0, "Path Error", "Please input correct Path info!") Else $handle = WinGetHandle( 阅读全文
posted @ 2013-11-04 14:13 chenpassion 阅读(918) 评论(0) 推荐(0) 编辑
摘要: 每个月,我都要做大量的license文件,为项目延期使用。由于对AutoIt进行了学习,在一定程度上能够应用自动化来简化日常劳动。我从来就不苛求自动化能够做一切事情,只要在一定程度上提高工作效率即可。1. 现在我要应用AutoIt脚本生成一个页面,页面上可以输入我要做license常用的几个元素;2. 得用AutoIt脚本操作做license的工具,输入页面上的几个元素3. 完成之后,编译成exe完成之后,界面如下:脚本如下:难点在于:1. 如何在一个AutoIt无法识别的控件GridView中输入值;2. 页面上很多控件,通过AutoInfo识别,只能看到相同的class,如何区分它们?3. 阅读全文
posted @ 2013-11-04 14:07 chenpassion 阅读(1891) 评论(0) 推荐(0) 编辑
摘要: 公司的官方主页要优化搜索任务,一共有110个独立页面,开发工程师做了以下工作:1. 为所有这些页面的每个图片添加了alt;2. 为页面上的每个标题添加了面包屑;3. 为网站最重要的标题设置H1标签,而且是唯一的;4. 对Title,Meta进行了优化,任何一个页面,都有独特的Title和Meta;现在需要我来测试效果,看一切是否按照计划进行,如果依靠手动测试,以上4个任务的任何一个,都可能要耗费我一天时间。而如果使用Watir,半天就可以完成所有的测试并且立刻就能让开发修复存在的bug。Watir的测试代码是如此简单,以至于即使一个入门级的Watir使用者,都可以完全掌握。require &# 阅读全文
posted @ 2013-09-27 17:50 chenpassion 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 在使用AutoIt最控件做自动化操作的时候,经常性的会碰到无法使用Windows Info工具获取控件的属性,但是我们又需要获取该控件的焦点,我们该怎么办呢?方法1: 应用controlFocus方法,把焦点放到可以定位的控件上面,然后发送键盘Tab或者某些组合键,从而最终把焦点放到我们想要放置的地方;方法2:直接发送Alt或者Tab组合键,直到能够把焦点放到我们想要的地方。我以前总是习惯性的使用方法1,因为这样感觉一切都好控制,这样操作大部分情况下确实可行,但是会经常性的无法获取焦点,从而导致操作失败,而方法2准确率更高。所以,如果可行的话,还是尽量使用方法2. 阅读全文
posted @ 2013-09-22 15:33 chenpassion 阅读(3983) 评论(0) 推荐(1) 编辑
摘要: Dim $computer ="computer name"Dim $Remoteuser ="Login account"Dim $Remotepass = "Password"$objlocator= ObjCreate("wbemscripting.swbemlocator")$objWMIService = $objlocator.connectserver($computer,"root/cimv2",$Remoteuser,$Remotepass)$colItems = $objWM 阅读全文
posted @ 2013-09-06 14:12 chenpassion 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 前段时间,我一直认为,通过AutoIt进行自动化操作,也只有几个方法可以用,它们只是controlClick, controlsend等如下图:我一直认为,AutoIt的所有的GUI 方法,都是用来创建界面使用的。今天,开发找我,让我把他的一个GUI页面上所有的资源获取下来:页面上一个ListView中,一共有大约70个list,我现在需要遍历这70个list,然后当该list获取焦点的时候,右键点击,然后在弹出框中点击第二个选项,从而保存图片?我一直期待能找到一个函数,比喻:ControlGetFocusPos,可是没有这个函数,mouseGetPos函数只能获取鼠标所在的位置,google 阅读全文
posted @ 2013-09-03 17:49 chenpassion 阅读(23753) 评论(1) 推荐(1) 编辑