FireWatir 和 jQuery
在使用了 FireWatir 这个优秀的和平软件之后,我想知道是否有一种方法可以将 jQuery-selector-magic 集成到我的测试中。
我的第一次尝试是使用 firewatir 的 js_eval() 方法,就像这样
require 'rubygems'
require 'firewatir'
f = FireWatir::Firefox.new
f.js_eval("alert(42);")
我得到的唯一结果是
JsshSocket::JSReferenceError:警报未定义
这有点奇怪,因为像
f.js_eval("document.location.toString();")
Work 这样的其他表达式就像魅力一样!
有人有提示吗?
谢谢并问候,
乔
after using this excellent peace of software called FireWatir, I wonder if there is a way to integrate jQuery-selector-magic to my test.
My first attempt is to use firewatir's js_eval()
method like this
require 'rubygems'
require 'firewatir'
f = FireWatir::Firefox.new
f.js_eval("alert(42);")
The only thing I get is a
JsshSocket::JSReferenceError: alert is not defined
which is kind of strange because other expressions like
f.js_eval("document.location.toString();")
Work like a charm!
Anyone with a hint?
Thanks and greets,
Joe
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您想像通常使用 $ 一样使用它,您需要将其包装在一个函数中,该函数将在 widows 文档的上下文中运行它。
芝加哥网页设计
If you want to use it like you would normally with a $ you need to wrap it in a function which will run it on the context of the widows document.
chicago web design
好的,伙计们,
我对 jQuery 进行了大量的研究,如果您遇到类似的问题,我希望这会对您有所帮助:
我要做的就是选择我正在使用的窗口,并且在其内容中 jQuery 可用并且一个人能够利用它所有的威力! ;)
问候
乔
Okay folks,
i got jQuery working with a lot of researching and I hope this will be help you out if you have similar problems:
What i had to do was to select the window I am working in explicitly and within its content jQuery is available and one is able to use all of its awesomeness! ;)
Greetings
Joe
来自 FireWatir Wiki:
alert
函数属于浏览器的window
对象,而不是页面的 DOM。因此,您可以调用类似window.alert('hello dollly')
的警报。FireWatir 创建一个 JSSh 会话,将您的 js_eval 发送到 DOM,因此无法与窗口交互。
From the FireWatir Wiki:
The
alert
function belongs to thewindow
object of a browser, not the DOM of the page. So you can call an alert likewindow.alert('hello dollly')
.FireWatir creates a JSSh session, that sends your
js_eval
to the DOM, therefore unable to interact with thewindow
.