我有这样的HTML:
<input custom_attribute="so cool" type="text" />
Run Code Online (Sandbox Code Playgroud)
我想获得custom_attribute
使用Watir的价值.
我是watir-webdriver自动化的新手,如果它是自动化的基本问题,我道歉.但问题是我正在自动化网站的分页,其中网站的URL随着用户更改页面而改变,说网址是www.example.co.uk/news,当用户点击分页上的下一个按钮时,该网页具有分页网址更改为www.example.co.uk/news?page=1
我想在此时检查URL以查看URL是否正确.但我真的找不到获取当前页面URL的方法.
在文本字段中输入文本后,我需要自动执行在键盘上按"Enter"键的操作.我尝试了@browser.send_keys :enter
但是没有采取行动.也试图@browser.text_field(:name => 'q').send_keys :enter
或@browser.text_field(:name => 'q').focus
再send_keys.但没有帮助.
@browser.send_keys("{ENTER}")
Run Code Online (Sandbox Code Playgroud)
这也没有帮助,这实际上是类型("{ENTER}")
请告诉我其他的做法?
我一直在尝试为ruby 2安装watir gem.我完全按照watir书籍安装说明但是一旦watir安装到了mini_magick gem就会出现这个错误
ERROR: While executing gem ... (Errno::EINVAL)
Invalid argument - C:/Ruby200/lib/ruby/gems/2.0.0/gems/mini_magick-3.6.0/tes
t/files/special! "chars'.gif
有谁知道怎么解决这个问题?我注意到nokogiri有点奇怪,因为无法从ASCII转换为ITF-8.也许这与它有关.谢谢你们
我正在使用黄瓜版本3.1.0.执行cucumber-ruby
测试时,我收到以下警告:
WARNING: The formatter Teamcity::Cucumber::Formatter is using the deprecated formatter API which will be removed in v4.0 of Cucumber.
Run Code Online (Sandbox Code Playgroud)
我不知道在哪里改变这个.我可以在哪里更改Teamcity::Cucumber::Formatter
,您建议使用哪种格式化程序?
似乎我尝试过的代码都没有任何影响.我的目的是通过点击"确定"按钮关闭可能出现的任何和所有JavaScript提示.问题是,我的脚本对出现的提示没有影响.换句话说,它什么都不做.
这就是我所拥有的:
fx = FireWatir::Firefox.start(somepage)
fx.startClicker("OK")
fx.button(:id, "OK").click
fx.button(:id, "CONFIRM").click
Run Code Online (Sandbox Code Playgroud)
HTML:
<script type="text/javascript">
alert("Alert!");
window.confirm("Confirm?");
</script>
Run Code Online (Sandbox Code Playgroud)
提示中的文字可以改变,无论警报/确认提示内部是什么,我的意图是打OK.
PS:我正在运行Ubuntu.
我对Watir比较新,但是找不到关于如何检查元素是否存在的好文档(示例).当然有API规范,但如果我找不到一个例子,这些对我来说没什么意义.
我尝试了两种组合,但似乎没有任何效果...如果browser.image(:src"/media/images/icons/reviewertools/editreview.jpg").exists那么...如果browser.image(:src" /media/images/icons/reviewertools/editreview.jpg").exists?然后...
如果有人对如何实现这一点有具体建议,请帮忙!谢谢!
我试图找到并单击一个jQuery菜单元素,该菜单被定义为包含多个LI元素的多个UL元素.
在Mac 10.5上使用Firefox 3.6.17,在我使用过的标准WATIR中;
browser.li(:text,"Options...").click
Run Code Online (Sandbox Code Playgroud)
要么
browser.div(:id,"Attributes-menu").li(:text,"Copy").click
Run Code Online (Sandbox Code Playgroud)
单击菜单项但使用watir-webdriver(0.2.3)它报告无法找到LI元素.虽然我可以通过使用:class找到包含DIV和LI的实例.
我在下面附上了一个菜单HTML示例,任何人都可以提出一种可靠的方法来查找LI项目吗?
<div class="ws-menu-container ws-context-menu ws-context-menu-hidden" style="top: 16px; left: 214px; " id="Attributes-menu">
<ul class="ws-context-menu"><li class="ws-context-menu-disable"> Copy </li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu-disable"> Add... </li>
<li class="ws-context-menu-disable"> Remove... </li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu-disable"> Clear Translation Flag </li>
<li class="ws-context-menu-disable"> Copy from Master Language... </li>
<li class="ws-context-menu-disable"> Push to Child Languages... </li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu"> Options... </li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu"> Refresh </li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu"> Help </li></ul></div>
Run Code Online (Sandbox Code Playgroud) 我做了一些搜索,但我找不到合适的答案.基本上我有一个无序列表,可以有不同的长度.我想遍历列表,做一些其他的事情然后回来并选择列表中的下一个项目.当我定义循环应该迭代的次数时,我可以做到这一点,因为我知道列表中的项目数量.
但是我不想为每个测试定义这个,我想获取列表中的项目数,然后将其弹出到一个变量中,我可以用它来退出循环并执行下一个我想要的操作.
HTML就像这样:
<ul id="PageContent_cat">
<li class="sel">
<a target="_self" href="/searchlocation.aspx?c=S1">S1</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S2">S2</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S3">S3</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S4">S4</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S5">S5</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S6">S6</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S7">S7</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
所以我可以看到列表中有7个项目.显然在watir我可以使用以下内容:
arr = ie.select_list(:name,'lr').getAllContents.to_a
但不是用webdriver.
我以为我可以使用'lis',但我只得到一个Hex结果:
$ bob = browser.ul(:id =>"PageContent_cat").lis put $ bob
谢谢,
保罗
我想用文件名保存Watir中的截图ddmmyyyy_hhmmss.png
.
我正在努力追随......
@@filename = Time.now
browser.screenshot.save (@@filename.png)
Run Code Online (Sandbox Code Playgroud)
...但它将文件保存为@@filename.png
.另外我需要在特定位置保存文件.
你能帮帮我吗?
你好Zeljko,
我尝试了你的建议,但我收到以下错误消息:
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:18:in `initialize': Invalid argument - 2013-01-03 11:02:21 +1100.png (Errno::EINVAL)
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/common/driver_extensio
ns/takes_screenshot.rb:18:in `open'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/common/driver_extensio
ns/takes_screenshot.rb:18:in `save_screenshot'
Run Code Online (Sandbox Code Playgroud)
我认为问题是日期和时间戳的格式.
watir ×10
ruby ×5
automation ×1
cucumber ×1
firewatir ×1
html ×1
install ×1
javascript ×1
keystroke ×1
minimagick ×1
nokogiri ×1
ubuntu ×1