在Interface TakesScreenshot页面,我发现了这个:
捕获屏幕截图并将其存储在指定位置.对于扩展TakesScreenshot的WebDriver,这取决于浏览器的最大努力,以优先顺序返回以下内容: - 整个页面 - 当前窗口 - 当前帧的可见部分 - 包含浏览器的整个显示的屏幕截图
对于扩展TakesScreenshot的WebElement,这取决于浏览器的最大努力,以优先顺序返回以下内容: - HTML元素的整个内容 - HTML元素的可访问部分.
所以我想知道它应该支持截取webelement的截图,但是现在找不到任何与此支持相关的文档.不确定它是否真的支持.
有人知道更多细节吗?谢谢.
我在使用Sikuli拖放时遇到了麻烦.我想在任何其他方向(向上,向下,向左,向右)拖动一些东西以获得固定数量的像素.
这看起来应该有效:
t = find("1325249963143.png")
dragDrop(t, [t.x + 100, t.y + 100])
Run Code Online (Sandbox Code Playgroud)
Sikuli IDE日志说
[log] DRAG (741,525) to null
Run Code Online (Sandbox Code Playgroud)
但是元素没有被拖动.
这很好用:
dragDrop("1325249963143.png", "1325251471990.png")
Run Code Online (Sandbox Code Playgroud)
日志说
[log] DRAG (741,525) to (507,490)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
环境:Mac OS X 10.7.2,Sikuli X-1.0rc3(r905)
我们的Web应用程序发送电子邮件.我们有很多用户,我们获得了很多反弹.例如,用户更改公司及其公司的电子邮件不再有效.
要查找退回,我使用日志解析器解析SMTP日志文件.日志来自Microsoft SMTP服务器.
一些反弹很棒,比如550+#5.1.0+Address+rejected+user@domain.com
.有user@domain.com
反弹.
但有些人没有收到错误消息的电子邮件,比如550+No+such+recipient
.
我创建了简单的Ruby脚本来解析日志(使用日志解析器)来查找导致类似的邮件550+No+such+recipient
.
我很惊讶我找不到一个能够做到这一点的工具.我找到了像Zabbix和Splunk这样的工具来进行日志分析,但是对于这样简单的任务来说,它们看起来有些过分.
有人知道一个工具可以解析SMTP日志,找到导致它们的退回和电子邮件吗?
我正在重构一些我没写过的代码,我找到了一条看起来像这样的行(它更长,我在这个例子中只使用了一点):
system("rubyw -e \"require 'win32ole'; @autoit=WIN32OLE.new('AutoItX3.Control');")
Run Code Online (Sandbox Code Playgroud)
为了提高可读性,我重构了它
do_something =
"rubyw -e \"
require 'win32ole'
@autoit=WIN32OLE.new('AutoItX3.Control')"
system do_something
Run Code Online (Sandbox Code Playgroud)
然后我想做一些更改,但由于我正在处理的代码是一个字符串,我失去语法高亮,括号匹配和所有好东西.
是否有一种简单的方法可以在字符串之外编写一些代码,然后将其转换为字符串?
我搜索了网络和stackoverflow,但找不到答案.
有关更多信息,请查看bret/watir上的原始代码(Watir :: FileField#set,第445行),以及zeljkofilipin/watir上的fork(第447-459行).
我有这样的HTML:
<input custom_attribute="so cool" type="text" />
Run Code Online (Sandbox Code Playgroud)
我想使用Watir在其中输入文本.
我在VMware Fusion虚拟机(3.1.2 332101)中安装了Windows XP(Professional,Version 2002,Service Pack 3).(主机是MacBook Pro,Mac OS 10.6.7.)XP安装有512 MB RAM并且完全更新,除了我在版本6下离开Internet Explorer.
我已经安装了Ruby和RubyGems:
C:\Documents and Settings\zeljko>gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.8.7 (2011-02-18 patchlevel 334) [i386-mingw32]
- INSTALLATION DIRECTORY: C:/Ruby187/lib/ruby/gems/1.8
- RUBY EXECUTABLE: C:/Ruby187/bin/ruby.exe
- EXECUTABLE DIRECTORY: C:/Ruby187/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-mingw32
- GEM PATHS:
- C:/Ruby187/lib/ruby/gems/1.8
- C:/Documents and Settings/zeljko/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- …
Run Code Online (Sandbox Code Playgroud) 我有一个网站只能在支持Webkit的浏览器(谷歌浏览器,Safari)中呈现.我使用的是谷歌浏览器,因为我使用的是Windows 7.
我正在使用Watir-WebDriver进行自动化.
问题:当我单击浏览器窗口上的按钮时,将启动另一个窗口,并在新的浏览器窗口中呈现发布单击内容.我需要一种能够识别这个新浏览器窗口的方法,以便能够继续我的测试.我一直在各种论坛上阅读,但没有得到任何确定的答案/解决方案.
问:对于watir-webdriver,是否有替代watir :: ie.attach,因为Watir-Webdriver不支持附加
示例代码:
require "rubygems"
require "watir-webdriver"
require "selenium-webdriver"
b = Watir::Browser.new(:chrome)
website = "http://xyz.com"
#a new browser is launched and the website is opened
b.goto(website)
#this opens a new browser window
b.link(:xpath,"/html/body/div/ul/li/a").click
#there is a button called "MAP" on the new browser window
b.link(:id,"btn_MAP")
#this gives an error, unknown link
Run Code Online (Sandbox Code Playgroud) google-chrome webdriver browser-automation watir watir-webdriver
我想模拟ctrl keydown和ctrl keyup.
我的用例如下:
用户可以通过按CTRL键并单击所需的行从列表(使用表构建)中选择多个元素.释放CTRL键后,将进行AJAX调用.
我需要一个watir测试来模拟这个.我怎样才能做到这一点 ?有任何想法吗 ?我需要一个在Linux下运行的解决方案
非常感谢.
我正在使用WATIR进行自动化测试,我需要在变量中复制一个速率值.在下面的例子中(来自网页源代码),我需要该变量myrate
具有值2.595
.我知道如何从<input>
或检索价值<span>
(见下文),但不是直接从a <td>
.有帮助吗?谢谢
<TABLE>
<TR>
<TD></TD>
<TD>Rate</TD>
<TD>2.595</TD>
</TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)
对于<span>
我使用此代码:
raRetrieved = browser.span(:name => 'myForm.raNumber').text
Run Code Online (Sandbox Code Playgroud) 如果我有一个简单的黄瓜功能和场景,像这样(示例代码来自黄瓜维基):
Feature: Eating cucumbers
Scenario: eat 5 out of 12
Given there are 12 cucumbers
When I eat 5 cucumbers
Then I should have 7 cucumbers
Run Code Online (Sandbox Code Playgroud)
我知道如何获取功能和方案名称before
:
Before do |scenario|
p [scenario.feature.name, scenario.name]
end
Run Code Online (Sandbox Code Playgroud)
上面的代码返回:
["Eating cucumbers", "eat 5 out of 12"]
Run Code Online (Sandbox Code Playgroud)
问题是如果该功能具有方案大纲:
Scenario Outline: eating
Given there are <start> cucumbers
When I eat <eat> cucumbers
Then I should have <left> cucumbers
Examples:
| …
Run Code Online (Sandbox Code Playgroud)