- 浏览: 716860 次
最新评论
-
masuweng:
Intellij 中javax.servlet.http.HttpServlet包导不进来 -
臧殿彬:
为什么我在主线程中定义也会出现这个bug?
java.lang.RuntimeException: Can't create handler inside thread that has not cal -
wpp1993:
...
http请求返回并解析json数据 -
javasea:
不错不错
socket阻塞与非阻塞,同步与异步、I/O模型 -
suyuwen1:
Apache2.4.x版wampserver本地php服务器如 ...
WAMPserver配置(允许外部访问、phpmyadmin设置为输入用户名密码才可登录等)
文章列表
Set excelApp = CreateObject("excel.Application")
excelApp.Visible = true
excelApp.Workbooks.Open "d:\1.xls"
Set osheet = excelApp.Sheets.Item(1) '重命名sheet
osheet.Name = "hello"
osheet.Cells(1,1) = "test123" '第一行第一列输入数据
excelApp.ActiveWorkbook.Save
Set ...
systemutil.Run "notepad"
Window("记事本").Move 183,167
Window("记事本").WinEditor("Edit").Type "hello"
Window("记事本").WinMenu("Menu").Select "文件(F);保存(S) Ctrl+S"
Window("记事本").Move -9,161
Window("记事本&quo ...
没有一个现成的方法来删除cookies, 所以你需要写一个Shell Script去删除你的Cookie所在目录的所有文件。实现的代码如下:Const COOKIES = &H21&Set objShell = CreateObject(“Shell.Application”)Set objFolder = objShell.Namespace(COOKIES)Set objFolderItem = objFolder.SelfstrPath = objFolderItem.Path & “\*.*”
出处:http://blog.csdn.net/zzxxbb112
在上一次讲座的内容中,我们已经简单介绍了一些对象映射的基础知识,但是qtp本身提供的对象映射其实存在着移植的问题。比如当我们把脚本移植到另外一台机器时此对象就会失效。因为对象映射是跟着配置走的,而这些配置并不会跟着脚本走。这就值得我们去好好思考一下该如何把这些配置一起绑定在脚本上。
针对以上的问题笔者在这里提供大家两种解决方案:
方案1: 使用配置到处方案(Generate Script方式)
优点:方便快捷,导出脚本即可
缺点:只能应用与QTP标准的对象映射
步骤:打开Tools --> Object ...
了,不废话,开始进入今天的正题。今天要讲的内容是注册异类子控件授予强制HOOK,名字有点抽象,简单的说就是在一个QTP可识别的A类插件窗口对象中存在着B类插件的控件对象,最常见的例子就是在应用程序中内嵌一个Browser对象子控件。说穿了就是内嵌一个浏览器,注意这里的大前提是此应用程序是可以被QTP识别的。那么如果出现我所说的此类情况,那么QTP是绝对不可能去自动识别此应用程序中的浏览器控件对象的,原因很简单,QTP只把这个应用程序看做是一个A类插件的控件对象,因此他根本不会去识别它。那么本章就来讲一下如何通过注册异类子控件的方法来强制注入启动hook,简单来看一下。
图1
...
1,最近测试中使用到了ajax的一个webedit自动填充的案例,想了好久,终于想到了一个解决的方案:
Set deviceReplay = CreateObject ("Mercury.DeviceReplay")
Browser("xx").Page("xx").WebEdit("xx").Object.focus
deviceReplay.SendString(str)
wait(10)
deviceReplay.PressKey(28)
2,第二种方法采用的是事件响应然后再敲击 ...
RegisterUserFunc "WebEdit","Set","WriteLog_WebEdit_Set"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "shkunshikun"
Function WriteLog_WebEdit_Set(Object,SetValue)
Object.Set SetValue '执行原来的设置值的步骤
'定义I/O模式
Cons ...
RegisterUserFunc在QTP的帮助文档中可以看到,作用是用来自定义QTP对象下的方法。在实际的工作中这个方法是经常用到的,因为它能帮我们节省不少的时间。比如QTP的“SET”,这是个用来向输入框中填入数值的方法,object.set "XXX",这个方法在实际应用中可能会带来不便,比如实现修改操作的测试。首先测试用例中如果描述只针对个别字段进行修改操作;然后你的测试框架又对修改页面整个进行了整个封装(做成了一个方法,以便于重用)。这时出现的问题是,你需要把所有的字段都输上值,而个别值需要改动。原因很清楚了,因为如果你只输入要修改的字段的值而不输入不要修改的字段时 ...
DataTable的操作包括:
DataTable.GetSheet(dtSheet)DataTable.GetSheetCountDataTable.[GetSheet.]GetRowCountDataTable.[GetSheet.]GetParameterCountDataTable.GetSheet(SheetName).GetParameter(“ColumName”).ValueByName(iRowNumber)DataTable.[GetSheet.]GetCurrentRowDataTable.[GetSheet.]SetCurrentRow(RowNumber)DataT ...
检查点、验证点方法------CheckProperty方法
object.CheckProperty(PropertyName, PropertyValue, [TimeOut])
-------------------------------------------------------------------------------------------------
PropertyName:要检查的属性名PropertyValue:预期结果值(如果最后检查完毕,发现不符合预期值,则会返回False,并引入QTP测试报告;反之,则返回True,并在测试报告中以Passe ...
先说下自己遇到的情况吧 (把原先在别的机子上运行OK的项目Import到自己的Myeclipse中)
测试时 居然提示 mysql Access denied for user(using password:YES)
百度后 仍未解决
1、检查驱动、密码 2、检查端口是否被占用 3、重装MYSQL
后来发现项目中没有Builder-path mysql 的jar包 实在是太大意了 后来就可以访问了
现将出现此问题的解决大致列一下 方便以后查找
下面是网络上的一些解决方法
方法一:# /etc/init.d/mysql stop # mysqld_safe --user=mysq ...
.php版本简介php各版本之间的区别,php版本后面一般有VC6和VC9、Thread Safe和Non Thread Safe的区别,VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的,VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的,如果你选用的是Apache或者其他服务软件,那么选择VC6,选用的是IIS的话,那么请下载VC9 的。Thread Safe 是线程安全,而Non Thread Safe就是非线程安全, 官方并不建议你将
动态获取运行时的值,动态导入对象库中
- 博客分类:
- QTP
1.动态导入对象库中
录制一个脚本保存为.tsr ,然后点击Resources---accociate repositories--- 添加进来就可以了
2.动态获取运行时的值
GetROProperty 这个方法
Browse.....................webEdit(" 搜索框的内容").GetROProperty ("value")
做Web自动化测试的时候,有时需要对浏览器进行一些特殊的操作,比如浏览器的激活、最大化和最小化。熟悉C/S自动化测试的朋友应该都知道Window对象是有这些方法的,而Browser对象则没有。
当然了, 我们可以自己写一些函数来弥补这个不足,其原理是通过获取浏览器的句柄,然后使用描述性编程来操作Window对象。
PS:所谓句柄是指,使用的一个唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。
Activate Browser
[v ...
Set qtapp = CreateObject("QuickTest.Application")
qtapp.Launch 启动qtp
qtapp.Visible = True 可见状态
qtapp.Test.Actions("Action1").SetScript "msgbox 0" //在action1里写入msgbox 0 代码
qtapp.Test.Run //运行qtp
qtapp.Quit //退出qtp
Set qtapp = Nothing
以上代码要用vbs来写,文件名也是vbs