51Testing软件测试论坛

标题: 希望我的问题能够有高手解答 [打印本页]

作者: bunny112    时间: 2009-1-19 14:55
标题: 希望我的问题能够有高手解答
功能描述:添加图像(类似于在博客上添加照片的功能):打开本地图像,并预览,然后输入图像的名称等信息,点击save,将把这个图像的信息保存到数据库;图像本身保存在服务器的某个文件夹下。

我的脚本:
Browser("Typical Image Library").Page("Typical Image Library").Image("ctl00$DefaultContent$imgbtnAdd").Click 9,14
Browser("Typical Image Library").Page("Typical Image Library_2").WebButton("Add").Click
Browser("Typical Image Library").Page("Typical Image Library_2").WebFile("ctl00$DefaultContent$fileImage").Click
Browser("Typical Image Library").Dialog("Choose file").WinListView("SysListView32").Select "ImgPack200411060098.zip"
Browser("Typical Image Library").Dialog("Choose file").WinButton("Open").Click
Browser("Typical Image Library").Page("Typical Image Library_2").WebButton("OK").Click
Browser("Typical Image Library").Page("Typical Image Library_2").WebEdit("ctl00$DefaultContent$txtName").Set "weqwe"
Browser("Typical Image Library").Page("Typical Image Library_2").WebButton("Save to Library").Click //保存功能
Browser("Typical Image Library").Page("Typical Image Library_2").WebButton("ctl00$DefaultContent$btnSave2D").Click
Browser("Typical Image Library").Page("Typical Image Library_2").Frame("frmDialog").WebButton("OK").Click
结果:运行回放,QTP皆没有报错,图像的信息也保存到数据库了 但是:图像未保存到服务器的相关目录下面

在进行自动化性能测试时,用的是Loadrunner也同样遇到此问题,就是文件上传到服务器失败

问题:QTP只是模拟GUI鼠标操作,既然点击SAVE按钮后,图像信息已经保存到数据库了,为什么图片本身没保存到服务器文件夹下呢
      是说QTP有时候会捕捉不到某些按钮的一些事件?

最后:希望大家能够给点建议
作者: happychap    时间: 2009-1-19 16:24
先声明,俺不是高手,说错了别喷我...
QTP脚本所做的操作,其实完全可以等同于手工操作,你说的图像没存到服务器上面,不知是不是由于网络传输速度不够造成的,但在局限网内,这种情况出现几率很小。
1、建议你把你的脚本逐句调试一下;
2、手工操作一下,看看手工操作是不是确实能把图片存到你的服务器上;
3、求救于你们公司的开发人员。
另外,保存功能的脚本里面,有一个地方没弄明白:
Browser("Typical Image Library").Page("Typical Image Library_2").WebButton("Save to Library").Click //保存功能
Browser("Typical Image Library").Page("Typical Image Library_2").WebButton("ctl00$DefaultContent$btnSave2D").Click
后面一句好象也是Save功能的样子。
作者: bunny112    时间: 2009-1-19 16:40
标题: 我看了一下IE的源码有新的发现呵呵
开发人员在一个表单页中隐藏了2个按钮:
【SAVE TO LOCAL】用户点击的表面上含义是将图像数据保存到数据库,将图片保存到服务器的相关目录下;还有1个功能是做必输项进行校验

其实:在源码里头隐藏了2个按钮,其中1个按钮的功能是保存图片到服务器的相关目录下;另1个按钮的功能是作必输项校验,而【Save to local】按钮只是将图像的一些数据保存到数据库中!

QTP只识别了其中1个事件:就是将图像的一些数据保存到数据库中

但是明白这些我不知道QTP如何实现相关操作了:我添加另外2个事件,QTP找不到相关的object ,无法运行;想问问大家这种情况下QTP怎么处理的,请大家不吝赐教!

ps:其实俺是新手,只是以前用过winrunner
作者: bunny112    时间: 2009-1-19 16:44
Browser("Typical Image Library").Page("Typical Image Library_2").WebButton("Save to Library").Click //保存功能
Browser("Typical Image Library").Page("Typical Image Library_2").WebButton("ctl00$DefaultContent$btnSave2D").Click
第一个意思是点“Save to LIbirary”按钮
第2个意思是将图像信息保存到数据库
但是第3个功能将图片上传到服务器捕捉不到,用了SPY也获取不到;因为button的value值是空的
作者: happychap    时间: 2009-1-19 16:51
"但是第3个功能将图片上传到服务器捕捉不到,用了SPY也获取不到;因为button的value值是空的"
问题应该出在这里面,让开发人员修改一下代码,或自己修改一下代码,让QTP识别出它,再试试。如果试通了,就找到真正问题所在了,然后再想办法解决它或绕过它。
QTP应该能把隐藏的按钮抓出来吧,用它测试WEB的经验不足。
作者: bunny112    时间: 2009-1-19 17:00
关键是我不知道怎么用QTP识别到它,而且处于无从下手的那种情况!
就是在一个table里面用了多个submit 事件 目前就捕捉到1个submit时间

作者: happychap    时间: 2009-1-19 17:14
用对象仓库吧,把网页上所有的对象都添加进去,然后再把没有用的给删除掉,不过工作起来多辛苦的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2