使用 Selenium IDE 与 iframe 元素交互的好方法是什么?
我想测试一个在 FCKeditor 的网络应用程序项目/ide/" rel="nofollow noreferrer">Selenium IDE。不幸的是,FCKeditor 使用 iframe,很难在 Selenium IDE 中测试。基本上,我想做的就是设置FCKeditor编辑区的值,然后读取它,看看该值是否提交正确。
我想这个问题有两个方面:首先,有人有针对这个问题的 FCKeditor 特定解决方案吗?其次,有谁知道实现可在 Selenium IDE 测试中使用的自定义 Javascript 函数的好方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我已经想出了一个解决方案。它涉及使用 Selenium IDE 的
storeEval
方法、storedVars
变量和匿名函数。它还利用了iframe
的activeElement
属性。基本上,我所做的就是使用 javascript 调用
storeEval
方法,将storedVars
的某个元素设置为我稍后将用作参数的函数。对于 FCKeditor 示例,参数是:我故意将其格式化,因为这是它在 Selenium IDE 中显示的方式,而我显然不太理想。
然后,稍后,当我真正想要设置 FCKeditor 字段的值时,我使用 javascript 再次调用 storeEval 来调用该函数作为参数,如下所示:
这可行,但我希望有一个更好的方法。 Selenium RC 会让这变得容易吗?
I have come up with a solution. It involves using Selenium IDE's
storeEval
method,storedVars
variable, and anonymous functions. It also exploits theactiveElement
property of theiframe
s.Basically, what I do is call the
storeEval
method with javascript to set a certain element ofstoredVars
to the function I will use later as the argument. For theFCKeditor
example the argument would be:I have formatted it like that on purpose because that is the way it would show up in Selenium IDE, and I it is obviously less than ideal.
Then, later, when I actually want to set the value of the FCKeditor field, I call
storeEval
again with javascript to call the function as the argument, like so:This works, but I am hoping there is a better way. Would Selenium RC make this easy?