51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 13035|回复: 14

selenium如何测试富文本

[复制链接]

该用户从未签到

发表于 2009-8-12 15:45:21 | 显示全部楼层 |阅读模式
使用 SeleniumIDE测试,
想要在富文本里面输入文本信息,指定xpath作为target,系统老是认不到。
请问,如何激发该事件。
例如:type   //iframe[@id='HtmlEditor']/html/body/                 textmessage
系统老是提示“element not found”
具体原文本信息如下:
<iframe id="HtmlEditor" class="HtmlEditor" frameborder="0" src="about:blank" marginwidth="0" marginheight="0" style="height: 100%; width: 100%; margin-left: 1px; margin-bottom: 1px;" name="HtmlEditor">
<html>
<head>
</head>
<body>
<div>
<br/>
<br/>
</div>
</body>
</html>
</iframe>

本帖子中包含更多资源

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

x
回复

使用道具 举报

该用户从未签到

发表于 2009-8-13 18:02:55 | 显示全部楼层
你这个是嵌入的iframe,selenium对这个支持好像有点问题,你用selenium.selectFrame("xxx"),先设置到那个iframe下,然后用那个frame下的相对xpath来识别元素,一般就可以识别到了,我试过,你也可以试试,不过用的RC试的,IDE没搞过。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-8-13 18:05:29 | 显示全部楼层
看html,你要操作的是个div啊,不是个input啊?div是可以允许用户输入内容的么?这个html不熟,div是否具有输入功能呢?有接受用户输入功能的应该是表单域吧?
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-8-14 11:13:50 | 显示全部楼层
之前用过 select iframe, 结果也提示失败。
能不能在body的inner text 设置写入信息?
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-8-14 11:18:52 | 显示全部楼层

回复 3# 的帖子

这是一个写邮件系统,例如:在163网站写email,它那写邮件内容也是可以使用富文本格式,写入信息除了用TYPE,好像没有其它
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-8-17 12:07:28 | 显示全部楼层
selectFrame(dom=...)用其确保确实把frame设置到了你想操作的iframe下,然后用相对xpath是可以识别元素的,我试过,相同的xpath写的元素,在不同frame下都有时是能准确点击的,至于你说的selectFrame不行,就太清楚了,你可以多写点试验代码测测看,看看selenium代码有无更好的用法或变通方法。关于type我是这么想的,能type的地方应该是可以接受用户键盘输入的地方,一个html的div内部是应该是不能接受用户输入的吧,你说的富文本是不是这个<textarea>标签啊,如果div可以接受用户输入,你type也应该可以,不行就试下typeKeys或keyPress等selenium提供的命令,还不行就强制设置页面元素的属性,这个应该可以了,你可以用js设置属性或者看看selenium提供的设置属性的方法,我改过一次hidden input里的value值,是可以改的,可记不得我怎么改的了,很可能是用js改的吧
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-10-20 17:03:45 | 显示全部楼层
我们公司在找一个selenium的Sr. Tester,有没哪个同学有兴趣阿,联系我:loveztt@hotmail.com,需要可以一手搭建狂减的
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-2-26 12:47:13 | 显示全部楼层
说说你们公司开的价位先
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-7-26 09:57:32 | 显示全部楼层
不多说
@selenium.getEval("selenium.browserbot.getCurrentWindow().document.body.innerHTML=\"hello\";")
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-8-31 15:26:00 | 显示全部楼层
楼上的靠谱。。。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2014-12-18 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2011-9-20 13:37:38 | 显示全部楼层
    本帖最后由 feiyunkai 于 2011-9-20 13:46 编辑

    用ide版,FF的firebug插件一定装了吧?如果没装,那么我建议装一个。步骤:打开FF浏览器,点击工具下的添加组件按钮,搜索框输入:firebug点击搜索,点击添加至firefox,安装完成后,重启浏览器即可。
    编辑富文本步骤:打开富文本输入页面,点击F12(打开firebug),按ctrl+shift+c(定位元素的快捷键),双击富文本输入框,鼠标定位在firebug中高亮显示部分,鼠标右下方会显示富文本输入框的xpath,我们用的是fckeditor,看到的xpath为:html/body/p,查看firebug中xpath中的html属性,我的系统中是 <html dir="ltr">
    在ide中insert new command :
    command  typeKeys
    //html[@dir='ltr']/body/p
    value      需要输入的文字
    保存后运行
    经验证该方法可行
    xpath操作文本编辑器技巧:通过最内层html属性定位      
    selenium使用技巧:ide与rc结合使用,利用ide版在FF浏览器录制脚本和添加部分断言,然后导出不同语言的脚本,修改浏览器设置(支持几乎所有的主流的浏览器,例如:IE,FF,google,safari,opera等浏览器)+细化该脚本,可以节约很多时间。我公司自动化工具:  eclipse+junit4+selenium rc ,并以selenium IDE版作为录制脚本辅助工具,firebug作为xpath定位工具
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-2-7 20:23:05 | 显示全部楼层
    。。 你先UP一下在去看看。问题应该是有同级的iframe。你之前的步骤已经跑到其它iframe里了。后面的Xpath就会从之前进入的iframe找。在该步骤前UP下 就OK了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-6-7 16:17:59 | 显示全部楼层
    新手,学习学习!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-6-18 11:13:30 | 显示全部楼层
    这篇帖子构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-6-21 13:36:08 | 显示全部楼层
    下面是我之前项目测试Iframe的代码用的是JavascriptExecutor, 你可以试一下看可以不。
    1. ((JavascriptExecutor) cContentFDriver).executeScript("var element= window.document.getElementsByTagName('iframe')[0];" +                "idocument = element.contentDocument;element= idocument.getElementsByTagName('BODY')[0];element.innerHTML  = 'this is a test for smoketestlist test!';");
    复制代码
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-3-29 23:20 , Processed in 0.082863 second(s), 31 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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