51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8401|回复: 37
打印 上一主题 下一主题

[原创] 为啥密码框WinEditor用type无法输入

[复制链接]
  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    跳转到指定楼层
    1#
    发表于 2011-2-25 15:07:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    各位大虾, 我这边遇到一个登录页面,密码框是WinEditor,然后我使用单步添加对象, 添加代码如下:
    Browser("xxxx").Page("xxxx").WinEditor("Edit").Type "111111"

    但运行时还是没法把值输入进去, 不知是啥原因。

    控件属性如图:

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
     楼主| 发表于 2011-2-25 15:09:15 | 只看该作者
    后面我用录制功能试了下, 只录下了这句话:
    Browser("xxxx").Page("xxxx").WinEditor("Edit").SetCaretPos 0,0
    但具体的值并没有录下来, 请高手提点意见, 谢谢~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2011-2-25 17:53:25 | 只看该作者
    我在想我的为什么不能录制喃?record按钮正常的 但是run是置灰的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2011-2-25 22:23:08 | 只看该作者
    这个Edit框可能是个特殊控件
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2011-2-26 13:38:35 | 只看该作者
    尝试用Sendkey, 我在其它自动化软件里, 有用到Keys这个属性, 也就是模仿键盘输入.
    有特殊控件, 可能本来就具备防止外部软件强制输入的功能. 用键盘输入也许可以绕过这个问题, 你查看下对象的自有属性和方法。 也许对象就具有keys这样的键盘输入属性
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    6#
     楼主| 发表于 2011-2-28 09:22:55 | 只看该作者
    回复 5# lhd85


    我用SendKeys语句试过了, 貌似输入不进去~~
    没看到有keys这样的自身属性

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2011-2-28 12:45:22 | 只看该作者
    Browser("xxxx").Page("xxxx").WinEditor("Edit").Set"111111"
    这样可以吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    8#
     楼主| 发表于 2011-2-28 13:01:01 | 只看该作者
    回复 7# dqf


    Set也试过了, 但run时会报错, 如下图:

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    9#
     楼主| 发表于 2011-2-28 13:08:51 | 只看该作者
    如果手工输入的话是可以通过键盘输入的, 或者通过点击右边的软键盘按钮来通过软键盘来输入, 本来想通过点击软键盘, 但软键盘里都是WinButton,而且每一个button的位置都是随机的, 并且属性除了坐标基本上大多都一样的,并且类似text属性为空的, 这样要识别点击的是哪个数字或字母按钮就很困难了。

    目前还想不到啥方法来识别。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2011-2-28 13:41:57 | 只看该作者
    Browser("xxxx").Page("xxxx").WinEditor("Edit").Type "111111"
    替换成:
    Set skey=createobject("wscript.shell")
    skey.SendKeys "111111"
    Set skey= nothing
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    11#
     楼主| 发表于 2011-2-28 13:55:46 | 只看该作者
    回复 10# ls_721521


    SendKeys方法已经试过, 没法输入进去,还是为空
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2011-2-28 13:59:41 | 只看该作者
    键盘输入前先wait 1
    或者先让那个控件获取焦点再键盘输入呢
    .focus
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-2-28 14:01:06 | 只看该作者
    你先手工操作一下:只用键盘,使用tab或上下翻页键看能否成功。如果能的话就没问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    14#
    发表于 2011-2-28 14:05:04 | 只看该作者
    1>看一下这控件都有哪些方法。有没有object  set  type ,有的话先设置一下焦点,然后在用。 

    2>设置焦点后 用Sendkeys试试。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    15#
     楼主| 发表于 2011-2-28 14:08:19 | 只看该作者
    回复 13# ls_721521


    用tab键可以从用户名框切换到该密码框, 但手工输入密码后再点Tab键, 就无法切换出去了, 光标会一直停留在该框内
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    16#
     楼主| 发表于 2011-2-28 14:18:11 | 只看该作者
    回复 14# 17800455


    用spy看了下该控件所支持的方法, 如下图, 里面是有Type方法的, 但实际运行时就是没法输入值进去,不知为啥。
    是不是因为是密码框的原因, 开发人员对该控件做了特殊处理了

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2011-2-28 17:07:32 | 只看该作者
    我也遇到过同样的问题,手动从键盘可以输入值,用sendkey就不行
    同样求解。。。密码框是activex控件的。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    18#
     楼主| 发表于 2011-2-28 17:31:10 | 只看该作者
    我选择ActiveX插件进QTP, 然后进行录制, 录制下来的代码如下:
    Browser("xxxx").Page("xxxx").ActiveX("PowerPasswordXBOSH Control").WinEditor("Edit").SetCaretPos 0,0

    具体的密码值还是没有录下来, 然后添加上以下语句, 运行时还是没法输入进去值.
    Browser("xxxx").Page("xxxx").ActiveX("PowerPasswordXBOSH Control").WinEditor("Edit").Type "123456"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-3-3 01:40:47 | 只看该作者
    用set 应该没错, webedit都是用set 来赋值
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    20#
     楼主| 发表于 2011-3-7 10:32:10 | 只看该作者
    回复 19# tonyliu12


    用Set是不行的,会报错, 该控件的class name是WinEditor, 不是WebEdit
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 18:05 , Processed in 0.094628 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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