51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4538|回复: 10
打印 上一主题 下一主题

[SilkTest] 在线的老大来指条明路

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-2-20 15:10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
desktop.<Window>find("智能水表信息管理系统(客户端004)--高频卡3 1 1 3 -- 射频卡水表(水量计量)").setActive();
desktop.<Control>find("智能水表信息管理系统(客户端004)--高频卡3 1 1 3 -- 射频卡水表(水量计量).ToolBar1").click(MouseButton.LEFT, new Point(696, 13));
这代码的语法出自哪里?desktop对象后面到底都能跟什么东西?像这类4java的问题我该在哪里找???帮助文件里找来找去没找到这类问题。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2014-2-20 17:26:36 | 只看该作者

类似图片中的标记,如window等。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2014-2-21 10:27:25 | 只看该作者
回复 2# 沅芷湘兰


   
谢谢版主的回复,之前用过QTP,现在是用Eclipse-4j,我再就目前几个问题请版主大人指导下。
1,还是之前那问题,你的回复我看不懂,再说一下,
desktop.<Window>find("智能水表信息管理系统(客户端004)--高频卡3 1 1 3 -- 射频卡水表(水量计量)").setActive();
和QTP相比,我只要加入对象到对象库,在写程序的时候,按上到下很快能写出对象,上面这句代码是由desktop开头,后面跟的.<window>find,find是找对象固定要加的吗?<>里面什么时候用window,什么时候用Control,用PushButton,到底可以有多少种啊,关键是想知道的是这些都是哪方面的知识?哪里可以找到?
2,QTP中只要加入对象库的对象,写程序的时候打第一个字母后面就自动出来对象的全称,Eclipse-4j这个功能怎么用? 还有一个就是在对象库里改变了对象的名称,怎么能同时改变程序里的对象名称?
版主,麻烦你了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2014-2-21 11:21:02 | 只看该作者
本帖最后由 沅芷湘兰 于 2014-2-21 11:22 编辑


@Test
        public void testCalc01() {
                desktop.<Window>find("/Window[@caption='计算器']").setActive();
                desktop.<PushButton>find("/Window[@caption='计算器']//PushButton[@caption='1']").select();
                desktop.<PushButton>find("/Window[@caption='计算器']//PushButton[@caption='+']").select();
                desktop.<PushButton>find("/Window[@caption='计算器']//PushButton[@caption='2']").select();
                desktop.<PushButton>find("/Window[@caption='计算器']//PushButton[@caption='=']").select();
                desktop.<TextField>find("/Window[@caption='计算器']//TextField").setText("3. ");
        }

类似的代码再结合上面的图片,大概看得懂了吧?看其中的“Window”,“PushButton”,“TextField”,Find后面跟的是你的对象的Xpath路径,这个地方在什么时候出现,是要看你操作什么对象了。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2014-2-21 12:54:05 | 只看该作者
回复 4# 沅芷湘兰

版主再解答下第2个问题吧,习惯了QTP,不能自动填充很难受啊。
desktop.<Window>find("/Window[@caption='计算器']").setActive();
如果手写这句代码,在QTP中自己写个W后面就会出现整个路径Window[@caption='计算器']供选择,现在的软件应该会有这样的功能,可我没找到。
另外一个就是在对象库中改变对象的名称(ITEM NAME)后,库中的对象名称就变成了黄色,程序出错,我的本意是改变对象库中的名称后,相应的程序中的对象名称也跟着改变,而且程序可以正常运行。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2014-2-21 13:57:51 | 只看该作者
你现在使用的是SilkTest14吗?
据说现在14和15里已经有对象库了,那我想你这个问题应该在后续的版本里已经解决了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2014-2-21 14:14:19 | 只看该作者
回复 6# 沅芷湘兰


    我现在用的是14,从没用过早期的版本,现在用的是有个文件叫OBJECT MAPS,应该就是QTP里面的对象库管理了,可惜没找到上面说的功能啊,不会没有这 功能吧,又不能改名称,又不能自动填充,如果软件的名称很长的话,那要麻烦死了。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2014-2-21 14:48:10 | 只看该作者
其实这个地方,你都不用考虑太多了,直接用参数化来做,呵呵,框架就这样开始了
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2014-2-21 15:17:43 | 只看该作者
回复 8# 沅芷湘兰


            @Test
        public void case1() {
                desktop.<Window>find("智能水表信息管理系统(客户端004)--高频卡3 1 1 3 -- 射频卡水表(水量计量)").setActive();
                desktop.<Control>find("智能水表信息管理系统(客户端004)--高频卡3 1 1 3 -- 射频卡水表(水量计量).ToolBar1").textClick("操作员管理");
                desktop.<PushButton>find("智能水表信息管理系统(客户端004)--高频卡3 1 1 3 -- 射频卡水表(水量计量).错误信息.确定").select();
                desktop.<PushButton>find("智能水表信息管理系统(客户端004)--高频卡3 1 1 3 -- 射频卡水表(水量计量).错误信息.确定").select();
                desktop.<PushButton>find("智能水表信息管理系统(客户端004)--高频卡3 1 1 3 -- 射频卡水表(水量计量).错误信息.确定").select();
                desktop.<Control>find("查询操作员窗口 -- 射频卡水表(水量计量).TDBGrid").click(MouseButton.LEFT, new Point(31, 9));
上面是我录制的代码,对象名称基本上占了整个屏幕,如果我要完全手写代码去引用这些对象,多恐怖。如果是您老,该如何下手,参数化太高深,有没有适合初学者的
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2014-2-21 16:06:47 | 只看该作者
建议是直接录制,回放就可以了,相信Silk4J也能做到
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2014-2-21 16:30:12 | 只看该作者
回复 10# 沅芷湘兰


    录制不方便维护,一群代码看的头大,,,,我再研究下其他办法看
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-8 05:36 , Processed in 0.076877 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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