51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8805|回复: 5
打印 上一主题 下一主题

Selenium 如何在文本域textarea中写入内容?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-8-12 18:02:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我写的是:
selenium.type("xpath=//textarea[@id='propJournal.content']", "测试房源内容");//房源内容输入文本
我使用type方法,给textarea输入内容,后台不报错,也不执行。
我想实现的就是给文本域写入内容。我找了些资料,好像要获得焦点什么的,但是我不会写,本人才开始用java尝试写selenium rc不久。
请哪位能贴点代码出来给我共享学习下。
谢谢啦!

[ 本帖最后由 hu_lynn 于 2010-8-12 18:03 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

6#
发表于 2010-8-20 13:43:08 | 只看该作者
首先谢谢你回复我.
我现在很困惑.
我的环境是:Ecplise+junit+Selenium
创建一个工程,工程中创建测试一个页面(包括FCK)的java文件,该文件包含测试代码,自然包括selenium.runScript("FCKeditorAPI.GetInstance('propJournal.content').SetHTML('hello, world')");,运行结果报FCKeditorAPI未定义.
疑惑的地方是:我的工程没有引用FCKeditor的JS,我就使用FCKeditorAPI,自然报FCKeditorAPI未定义,可是我不知道如何在我的工程中加载,具体说怎么加载FCKeditor的JS到我的工程
另:FCKeditor的JS是不是下载压缩包中的fckeditor.js????
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-8-18 15:45:08 | 只看该作者

回复 4# 的帖子

FCKeditorAPI未定义,应该是在你运行selenium.runScript("FCKeditorAPI.GetInstance('propJournal.content').SetHTML('hello, world')");之前JavaScript没有加载,调用次序问题,导致调用未加载的函数发生错误。
解决方法有两种,一是确保调用javascript在函数定义之后;
二是在调用前判断页面是否加载完毕,加载完毕了再调用,使用waitforload函数等待页面加载。
呵呵,我只是猜测,你可以试试。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-8-17 15:13:16 | 只看该作者
请问,如何加载FCK的js在java代码中;
现在运行selenium.runScript("FCKeditorAPI.GetInstance('propJournal.content').SetHTML('hello, world')");页面报脚本错误,说FCKeditorAPI未定义
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-8-13 11:18:59 | 只看该作者
多谢分享
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-8-13 09:32:18 | 只看该作者
早上来问了技术才知道,这个textarea本身是有默认值的,默认值下方是加载的一个FCK编辑器,在编辑器加载完后会清空赋给textarea的值。所以昨天给textarea赋值,就是看不到效果,以为是没有赋值上。
源码是这样的:
<textarea id ="propJournal.content" name ="propJournal.content"  rows="10" cols="74">编辑框加载中,请稍等...</textarea>
<script type="text/javascript" src="http://css.mysupa.com/fckeditor/fckeditor.js">

解决办法是,先加载FCK的js。等js加载好了,在给编辑框赋值,这样就不会给清空了。
selenium的代码我是这样写的:
selenium.runScript("FCKeditorAPI.GetInstance('propJournal.content').SetHTML('hello, world')");
这样运行下来,编辑器就被赋值了。能正常运行。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 15:24 , Processed in 0.068855 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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