1

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

我已经验证了该按钮是否存在,并尝试过单击、fireEvent 你命名它并且没有方法可以调用。

有没有人解决这个问题?

4

3 回答 3

1

你要哪个 ?
A. 控制光标点击“提交”

B. 模拟点击“提交”

A:需要使用Autoit控制光标和点击,但仅限windows操作系统。B:执行点击“提交”时的javascript。

如果是 B 情况,我总是使用两种方法。
1.在 URL 栏中执行该代码。
例如)@ie.link(:URL, 'javascript:<-CODE->;').click

像该模块一样制作并通过包含在测试用例中使用它。
例如)@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/

于 2009-08-10T07:26:20.750 回答
1

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

于 2009-09-21T14:37:51.797 回答
0

我只是有同样的问题。用于 jQuery 演示的 Ajax 上传是一个示例页面。我想使用Upload页面左侧的按钮上传文件。

当我手动单击Upload按钮时,会弹出文件上传

当我单击带有Watir的按钮时,没有任何反应。

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

browser.file_field(:index, 1).set "/path/to/file"
于 2010-03-15T15:06:29.277 回答