Watir不会触发Jquery事件处理程序

时间:2009-06-29 02:10:40

标签: javascript jquery ajax watir

我正在测试一个JQuery Web应用程序。我有一个JQuery弹出窗口,我根本无法在Watir中触发提交按钮。考虑到应用程序使用相同的模式。

我已验证该按钮是否存在且已尝试点击,fireEvent您将其命名并且没有方法可以调用。

有没有人解决过这个问题?

3 个答案:

答案 0 :(得分:1)

你想要哪一个?
A.控制光标并单击“提交”

B. Simula te点击“提交”

答:需要使用Autoit和控制光标并单击,但仅适用于Windows操作系统。 B:点击“提交”时执行javascript。

如果是B案,总有两种方法 1.在URL栏中执行该代码。
ex。)@ ie.link(:URL,'javascript:< -CODE->;')。点击

制作该模块并通过包含在测试用例中使用它 ex。)@ ie.excute_script(< -CODE->)

module Watir
  class IE
   def execute_script(scriptCode)
     WIN32OLE.codepage = WIN32OLE::CP_UTF8
     window.execScript(scriptCode)
   end
   def window
     WIN32OLE.codepage = WIN32OLE::CP_UTF8
     ie.Document.parentWindow
   end
  end

也许......
我希望它有所帮助 对不起,我的英语很差 tknv /

答案 1 :(得分:1)

在我的情况下,解决方案是使用和索引值1.JQuery创建表单的副本,所有弹出项目的索引为1. 0索引控件在原始表单上。

答案 2 :(得分:0)

我遇到了同样的问题。 Ajax upload for jQuery demo是一个示例页面。我想使用页面左侧的Upload按钮上传文件。

当我手动点击Upload按钮时,会出现file upload pop up

当我点击Watir按钮时,没有任何反应。

Gary(接受的答案)帮助我找到了解决方案:

browser.file_field(:index, 1).set "/path/to/file"