标签: watir

如何使用Watir获取元素自定义属性的值

我有这样的HTML:

<input custom_attribute="so cool" type="text" />
Run Code Online (Sandbox Code Playgroud)

我想获得custom_attribute使用Watir的价值.

html internet-explorer watir

10
推荐指数
1
解决办法
1万
查看次数

使用Watir-webdriver如何检查页面的URL

我是watir-webdriver自动化的新手,如果它是自动化的基本问题,我道歉.但问题是我正在自动化网站的分页,其中网站的URL随着用户更改页面而改变,说网址是www.example.co.uk/news,当用户点击分页上的下一个按钮时,该网页具有分页网址更改为www.example.co.uk/news?page=1

我想在此时检查URL以查看URL是否正确.但我真的找不到获取当前页面URL的方法.

ruby automation watir watir-webdriver

10
推荐指数
1
解决办法
1万
查看次数

如何发送击键输入Watir

在文本字段中输入文本后,我需要自动执行在键盘上按"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}")

请告诉我其他的做法?

keystroke watir

10
推荐指数
2
解决办法
8389
查看次数

由于mini_magick文件w /特殊字符导致watir gem安装错误

我一直在尝试为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.也许这与它有关.谢谢你们

ruby install watir nokogiri minimagick

10
推荐指数
1
解决办法
3570
查看次数

格式化程序'Teamcity :: Cucumber :: Formatter'正在使用不推荐使用的格式化程序API

我正在使用黄瓜版本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,您建议使用哪种格式化程序?

ruby watir cucumber

10
推荐指数
1
解决办法
706
查看次数

Ruby Watir:在JavaScript提醒上单击确定?

似乎我尝试过的代码都没有任何影响.我的目的是通过点击"确定"按钮关闭可能出现的任何和所有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.

javascript ruby ubuntu watir firewatir

9
推荐指数
1
解决办法
8563
查看次数

如何检测Watir中是否存在元素

我对Watir比较新,但是找不到关于如何检查元素是否存在的好文档(示例).当然有API规范,但如果我找不到一个例子,这些对我来说没什么意义.

我尝试了两种组合,但似乎没有任何效果...如果browser.image(:src"/media/images/icons/reviewertools/editreview.jpg").exists那么...如果browser.image(:src" /media/images/icons/reviewertools/editreview.jpg").exists?然后...

如果有人对如何实现这一点有具体建议,请帮忙!谢谢!

ruby watir

9
推荐指数
2
解决办法
2万
查看次数

使用:使用watir-webdriver定位LI元素

我试图找到并单击一个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">&nbsp;&nbsp;&nbsp;Copy&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Add...&nbsp;&nbsp;&nbsp;</li>
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Remove...&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Clear Translation Flag&nbsp;&nbsp;&nbsp;</li>
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Copy from Master Language...&nbsp;&nbsp;&nbsp;</li>
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Push to Child Languages...&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu">&nbsp;&nbsp;&nbsp;Options...&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu">&nbsp;&nbsp;&nbsp;Refresh&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu">&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</li></ul></div>
Run Code Online (Sandbox Code Playgroud)

watir watir-webdriver

9
推荐指数
1
解决办法
1万
查看次数

Watir Webdriver计算UL列表中的项目数

我做了一些搜索,但我找不到合适的答案.基本上我有一个无序列表,可以有不同的长度.我想遍历列表,做一些其他的事情然后回来并选择列表中的下一个项目.当我定义循环应该迭代的次数时,我可以做到这一点,因为我知道列表中的项目数量.

但是我不想为每个测试定义这个,我想获取列表中的项目数,然后将其弹出到一个变量中,我可以用它来退出循环并执行下一个我想要的操作.

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 watir-webdriver

9
推荐指数
1
解决办法
8408
查看次数

在watir中保存屏幕截图

我想用文件名保存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

9
推荐指数
1
解决办法
4805
查看次数