51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4032|回复: 3
打印 上一主题 下一主题

selenium IDE动态元素的问题,请指教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-11-11 19:49:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 discusstest 于 2011-11-11 19:50 编辑

最近两天开始尝试用selenium IDE做自动化,碰到了一些问题,因为我们的页面是写好的script,很多地方都是动态的

左右是两个frame,

第一步点击左边的cluster链接,就打开了右边的frame,
        用IDE录制的脚本是selenium.click("link=cluster");
                selenium.selectFrame("relative=up");
                selenium.selectFrame("detail");
       这一段脚本用IDE回放没问题,但如果在IDE窗口里面find,selenium.selectFrame("relative=up")找不到
第二步点击右边的cluster node链接,打开cluster node的tab
        用IDE录制的脚本是selenium.click("id=ClusterNodesHyperlink_caption_1640063425"),
        因为后面的数字是动态生成的,每次都不一样,
        改成selenium.click("css=span[id^= 'ClusterNodes']")后在IDE窗口里面find能找到,可是用IDE回放就找不到元素
第三步在罗列的cluster结点中,单击NodeA旁边的弹出菜单,选择properties
        用IDE录制的脚本是selenium.click("name=ns_0x002d2124140002_WDWPM27d827d8")
        这个比较麻烦,因为菜单有3个选项,而且每个cluster结点都有自己的菜单,如何找到对应的结点的具体菜单项?

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2011-11-21 16:29:02 | 只看该作者
其实seleniumIDE只是一个辅助功能,如果你遇到回放不成功的情况,建议在你所熟悉的代码下使用IDE进行设计,selenium支持很多种语言,总有一款适合你,这种问题,在seleniumIDE下很难解决掉的。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-11-22 17:51:08 | 只看该作者
试试xpath定位看看?加上匹配模式
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-11-23 09:07:07 | 只看该作者
单击nodeA后弹出的菜单,如果要以每个菜单的name做为匹配属性的话,我觉得没有必要,而且你必须要提前准备大量的这样的参数,实现起来比较困难。
  你可以这样实现,nodeA\nodeB、nodeC点击应该没有什么问题吧,如果你要点击某一结点(nodeA\B\C)打开后的具体菜单,可以判断点击节点后,弹出的菜单层(这里的菜单应该是一个div层,平时不点击节点的时候他不会出现,肯定有个display的样式属性)是否出现,可以通过selenium中等待某一对象是否出现来判断,然后在弹出的层中,已具体的text文字做为主要识别依据,来识别三个不同的菜单,从而避开菜单的name属性无规律,不好操作的问题。
  这样实现应该没有问题,对selenium也了解过一小段时间,配合cucumber做过自动化。以上仅是我对该问题解决的初步思想。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-12 16:10 , Processed in 0.092871 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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