软件测试论坛

 找回密码
 软件测试论坛注册页
查看: 5991|回复: 27

[QuickTestPro] QTP中对右键单击的解决办法

  [复制链接]
发表于 2007-11-20 16:37:50 | 显示全部楼层 |阅读模式
软件测试工程师就业班马上开班
这几天写QTP脚本,发现QTP对右键单击的操作不能识别,经过查找资料总结,可以采用wsh的方式,实现右键选择的操作。wsh是通过模拟键盘,向激活窗口发送键值实现相应操作。
( K8 ?' v) ~& M+ I, z
( z5 R; \( Y% B! T. N
# f7 Q1 c. S7 R8 E- D1 {; JWindow("A").WinListView("B").Click 150, 233, micRightBtn   '右键单击出菜单- b- y, P) l% d7 B
Window("A").WinObject("B").WinMenu("C").Select "新建(W);<Item 3>"     '在弹出菜单中选择功能功能
* V* K8 S, P; S+ ^( q- C* e4 D( g  k1 z% H" @2 Q) N' S
上述代码在回放时回放不过去,改为
/ B3 e6 i6 D# {1 k2 x; [2 R& xWindow("A").WinListView("B").Click 150, 233, micRightBtn
4 l% H" a1 ?1 @6 `   Dim wshShell3 a% U4 \8 b- h$ w$ i6 e3 L7 o4 ?7 s9 P
      Set wshShell = CreateObject("WScript.Shell")/ x8 R3 K) t4 }: T
   For i=1 to MoveNum" c6 C( J* K3 q, x$ `- p5 L
     wshShell.SendKeys "{DOWN}"   '模拟键盘操作
8 g8 j; O% j) x7 V! Z) y5 D   Next: e9 K* V. M# Z$ t5 c/ K
     wait 1
$ i  \. q+ ~8 Z5 P  [   wshShell.SendKeys "{ENTER}"     '模拟键盘操作2 E. K; ]. z" K7 w' e6 H! M
上述代码在弹出菜单后可以实现向下移动选项,并选择的功能.MoveNum是移动的次数" p6 s' L0 l/ |4 T0 F6 s
附: wsh键值表
1 o  a8 P2 {8 [1 S0 c键          参数/ `# y7 q: ?8 ~: X; b6 W1 H
退格键      {BACKSPACE}、{BS}或{BKSP}" z2 d4 s1 Z4 S2 K5 G; X
BREAK       {BREAK}1 i, h- l6 O5 v( P+ A" j5 t
CAPS LOCK   {CAPSLOCK}
7 {7 u# h5 ?" R  mDEL或DELETE{DELETE}或{DEL}8 U% C% R& V; f7 C1 [
下箭头      {DOWN}
) F$ w& x& _6 I. X2 J9 t- a( B/ IEND         {END}7 g. q# Q: ^1 `( u
ENTER       {ENTER}或~
: @0 }+ [8 w8 j* i- iESC         {ESC}8 H5 B* q$ B& Y  _  F( f& e
HOME        {HOME}' M, i; X4 T; J6 j! o! Q% \1 M1 }
INS或INSERT{INSERT}或{INS}
/ D* Y* e$ ?5 k# ]# o左箭头      {LEFT}0 v6 L- e6 `# P* m* I
NUM LOCK    {NUMLOCK}, S' S6 c# M! r6 a3 H' s; Q
PAGE DOWN   {PGDN}; m* Z4 K& |5 U2 a% c/ ~
PAGE UP     {PGUP}
& |8 H/ j! I) P3 G$ ~PRINT SCREEN{PRTSC}9 p9 E% q/ {# Z4 P8 }
右箭头      {RIGHT}
$ s! Q: W# Z  x, p+ W0 h3 xSCROLL LOCK{SCROLLLOCK}' A( j; |! N* c$ r* \  t
TAB         {TAB}
$ g3 Q& n+ S" e5 M" S: P上箭头      {UP}
4 _' U3 f( w$ z: qF1、F2、F3...{F1}、{F2}、{F3}Q
: }4 Y  x" x; ?" U, R+ a, Z" O
, _7 k) a* `" S" ~- C6 b$ [) g
: v1 Z2 _  }& H' D2 G- n$ J0 fwsh不仅仅是这个功能,只是作为一个引子,有时可以解决很多问题,希望大家多多研究,多多交流。
ISTQB
发表于 2007-11-20 17:27:36 | 显示全部楼层
软件测试工程师就业班马上开班
谢谢楼主啊,又学了一个新方法。
ISTQB
发表于 2007-11-23 14:53:37 | 显示全部楼层
软件测试工程师就业班马上开班
刚碰到了 这个问题,试试先,多谢!!
 楼主| 发表于 2007-11-23 17:02:29 | 显示全部楼层
软件测试工程师就业班马上开班
能帮到你很高兴
$ H) }- k4 n% B6 b6 R% a大家多多交流
发表于 2007-11-26 16:58:32 | 显示全部楼层
软件测试工程师就业班马上开班
我在9.2版本中测试了一下,在notepad中右键单击选择“粘贴”,是可以回放的,看来在9.2b版本解决了吧。呵呵
 楼主| 发表于 2007-11-26 23:47:15 | 显示全部楼层
软件测试工程师就业班马上开班
现在我也用9.2版本,也没发现这个问题。上边的函数是在9.0下写的。& t' {- O/ `" |" [- Y* C% Y
这样看来应该是在9.2中解决了。
daneil2007 该用户已被删除
发表于 2008-2-27 20:46:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-3-9 23:54:28 | 显示全部楼层
对于某些快捷键的操作,回复QTP自己录制的代码时(如果代码存在的话),效果不是很了解,经常出现不了我们希望的结果。有时QTP就根据不录制一点代码。在此情况下,采用wsh 是一个不错的选择。
发表于 2008-3-9 23:57:51 | 显示全部楼层
记得有次 使用 QTP 9.0 测试 Firefox 的某个网页时, QTP在运行 点击Firefox 的 后退按钮这个操作产生的代码时, 总是提示 General run error 错误,后来采用wsh方法。自己写代码解决了。
发表于 2009-3-17 11:20:38 | 显示全部楼层
如果是JAVA应用程序,也可以这样用吗?
发表于 2009-4-12 12:29:29 | 显示全部楼层
谢谢楼主,我也遇到过类似的问题,等下去试一试你的方法
发表于 2010-8-20 19:52:21 | 显示全部楼层
谢谢楼主啊,又学了一个新方法。
发表于 2010-10-20 11:02:13 | 显示全部楼层
实用
发表于 2010-12-25 09:03:40 | 显示全部楼层
for 循环不需要使用 在下面的MoveNumber中输入就可以实现了
( M7 R# _+ r$ u+ ]* n7 r3 }4 GwshShell.SendKeys "{DOWN MoveNumber}"
发表于 2011-2-15 09:48:12 | 显示全部楼层
wsh方法真是一个不错的方法!
发表于 2011-2-26 20:10:28 | 显示全部楼层
可以,不错,还得继续学习

本版积分规则

Archiver|手机版|小黑屋|领测软件测试网 ( 京ICP备10010545号-5 )

GMT+8, 2021-10-16 19:47 , Processed in 0.138269 second(s), 11 queries , Xcache On.

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表