问题标签 [watir]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 针对多个目标运行 rspec
我已经使用 Watir 针对 Web 应用程序编写了一个 rspec 测试,它运行良好。但是,我现在希望能够针对在不同域名上运行的 Web 应用程序运行此测试。
我最初的想法是我可以在命令行中将值传递给 spec 以在我的脚本中设置一个变量,但我看不到任何简单的方法来做到这一点。所以我的第二个想法是我可能需要在我的脚本中添加一个域数组并让它测试所有这些域 - 但我并不总是想测试每个域,并且域在我们添加和删除站点时会不断变化进行测试。
允许选择我想要的目标有哪些选择?
testing - Watir 问题关于存在于类中以用于测试目的
我的页面上有一个按钮,该按钮会根据单击的单选按钮而变化。按钮上的文本相同,id 相同,但类不同。如何根据收音机测试两个不同的按钮是否存在。
我如何测试是否出现第二个按钮而不是第一个按钮。我用过类似的东西,browser.link(:text, 'Submit').exist?
但这不起作用,因为无论如何它都会返回true。谢谢
编辑:我环顾四周,发现了一些 xpath 的东西?我试过了,它似乎不起作用。
我之前忘记提到的可能很重要的一点是,还有第二组按钮可以打开和关闭类,但具有不同的 ID。所以我需要专门测试这个类,并提交id。然后关闭课程并提交 id。谢谢
windows - Watir::IE.attach(:title,/x/) 在 Win 7 IE8 上无法正常工作
系统:Window 7 Internet Explorer 8 Ruby 1.8 Watir 1.6.5
如果我手动打开浏览器窗口,然后访问导致第二个浏览器窗口打开的站点,然后使用 Watir::IE.attach 方法找到第二个浏览器窗口,一切正常。问题是当我使用命令 Watir::IE.new 打开第一个 Internet Explorer 窗口,然后访问导致第二个浏览器窗口打开的站点时。当我使用 Watir::IE.attach 查找第二个浏览器窗口时,我现在得到: Watir::Exception::NoMatchingWindowFoundException: Unable to location a window with title of (?-mix:x) from /ie-class.rb: 297:在 /ie-class.rb 的“attach_browser_window”中:149:在 /ie-class.rb 的“_attach_init”中:143:在(irb)的“attach”中:15
有没有人遇到这个问题并制定了解决方案?
我做了更多调查,我正在以管理权限运行我的脚本,它以管理员身份打开 IE8,然后尝试打开一个新窗口。我尝试以管理员身份手动打开 IE8,然后从浏览器打开一个新窗口,然后使用 watir 运行附加命令,我确实得到了与使用 watir 创建初始窗口相同的错误。
我确实希望能够以管理员身份运行我的脚本。
我尝试手动执行 watir 命令并在脚本中运行:
=======================
需要“红宝石”
需要'watir'
即 = Watir::IE.start(" http://www.quackit.com/html/codes/html_open_link_in_new_window.cfm ")
ie.link(:text,"HTML 帮助").click
ie2 = Watir::IE.attach(:title,/Help/)
=======================
ruby - 如何使用 watir 和 IE 上传文件?
我正在编写一个 watir 脚本来测试上传表单。
但是脚本不会自动选择要从我的硬盘上载的文件。
相反,IE 在文件选择器对话框打开时停止。只要我在对话框中手动选择要上传的文件并单击确定,watir 就会根据需要继续。我想知道为什么它会停止。
这是我的女仆脚本:
我从这个页面得到了代码:http ://wiki.openqa.org/display/WTR/File+Uploads
这是表格:
我也找到了本手册http://svn.openqa.org/svn/watir/trunk/watir/unittests/filefield_test.rb。我正在使用 IE 6 和 IE 7 进行测试。
编辑:我在这里上传了我的简单示例(3 个文件位于我的机器上的 c:\testing\ 中,只需启动 cmd 文件):
http://dl.dropbox.com/u/1508092/testing.rar
它在 3 台不同的机器上失败(所有 Windows 2003、2x IE 6 和 1x IE 7)。我还将脚本 c:\ruby\lib\ruby\gems\1.8\gems\watir-1.6.5\lib\watir\input_elements.rb 中的睡眠时间从 1 秒更改为 5 秒,就像 Željko Filipin 所建议的那样在他的回答中:
这是它停止的地方(请注意,我确实手动导航到文件对话框中的目录一次。从那时起,IE 总是显示带有该目录的打开对话框,但这并不意味着脚本选择了该目录。我认为这意味着 IE 总是显示它离开的最后一个目录):
这是它停止的地方 http://dl.dropbox.com/u/1508092/upload-dialog.JPG
编辑:
我发现 ole32 代码寻找英文标题:
POPUP_TITLES = ['选择文件', '选择要上传的文件']
我现在安装了 IE 7 英文版。仍然没有成功。但我认为这与本地化有关,因为 input_elements.rb 搜索窗口标题。我想知道为什么它现在仍然失败。这是 input_elements.rb 中的代码:
文本“选择文件”现在出现在我的新 IE 的标题中。还有什么应该在这里本地化或更改的吗?我将屏幕截图更新为英文版。
watir - 如何获取 watir 中元素的 ID 或名称?
Watir 可以在页面上找到一个文本:
但是,当我只知道“某些文本”时,如何获取跨度的名称或 ID
像这样的东西存在于水里?
html - 无法选择由 JavaScript 在 watir 中添加的单选按钮
这是后来用 jQuery 添加到页面中的:
这段代码:
不设置它但返回错误消息:
Watir 是否也能找到后来添加的单选按钮?
这是 windows 32bit XP SP 3,IE 7,watir 1.6.5,ruby 1.8.6
watir - 用 watir 测试“登录”
我开始使用watir。我需要创建一个测试脚本来登录应用程序。
下面的代码是页面中的脚本。
我看到了一些带有按钮和链接的示例,但我不知道如何“提交”(“onclick=SubmitForm() type=button value="Sign In") 信息。
watir - watir 的 browser.text.include 吗?计算不可见 div 中的文本?如果是这样,如何仅搜索可见文本?
watir 的 browser.text.include 吗?计算不可见 div 中的文本?如果是这样,如何仅搜索可见文本?
我从一开始就把所有的指令都放到了 html 中,并使用 jQuery 来隐藏和取消隐藏相关部分。
如何使用 watir 的服务员只等待可见的文本?
我的问题是,即使在我使某个文本可见之前,服务员也总是返回 true。
ajax - Watir:需要双击一个元素才能打开自定义弹出窗口
我是WATIR的新手。我面临的问题是 - 我正在测试的应用程序在页面上放置了缩略图(如 Windows 图标),我需要双击它。这样做时,将打开一个自定义弹出窗口(用 javascript 实现的 ajax 弹出窗口)。fire_event("ondblclick") 对我不起作用。我也尝试了两次“点击”,但这也无济于事。有没有其他方法来处理这个?非常感谢您的帮助。
2010 年 7 月 6 日添加:
我解决了它,但我现在有另一个问题。
下面是我能够使用 "@ie.div(:class,'GridElementInlineIE').fire_event('ondblclick') 解决的 HTML
现在我需要双击这个项目(下面的代码)。但即使正在识别元素(以黄色突出显示),双击也不起作用。我正在尝试“@ie.div(:class,'gridViewItem').fire_event('ondblclick')”。我也尝试过 while 循环和单击两次选项无效。我正在使用带有 Ruby186-27_rc2 的 Watir 1.6。
ruby - Watir 在 ruby 1.9.1 下工作吗?
这是 .rb 程序:
第 2 行将触发““程序无法启动,因为您的计算机中缺少msvcrt-ruby18.dll !”错误。
我在 win32 上使用 1.9.1p378
我怎样才能解决这个问题?感谢您的关注。