在watir中,我想使用browser.wait()来确保我已经等到页面加载完毕。但是,如果页面永远不会加载或只需要很长时间怎么办。我想设置超时。我是否使用browser.wait(8)之类的方法来指定超时秒数? 最佳答案 您可以在等待语句后的括号中指定超时值:Watir::Wait.until(60){browser.text.include?'Hello'}Watir::Wait.until(60){browser.div(:id=>"mainDiv").exists?} 关于rub
我正在使用WATIR进行自动化测试,我需要将速率值复制到一个变量中。在下面的示例中(来自网页源代码),我需要该变量myrate具有值(value)2.595.我知道如何从中检索值或(见下文),但不是直接来自.有什么帮助吗?谢谢Rate2.595对于我使用这段代码:raRetrieved=browser.span(:name=>'myForm.raNumber').text 最佳答案 试试这个,使用正则表达式找到您想要的行以匹配包含单词“Rate”的行,然后获取该行中第三个单元格的文本。myrate=browser.tr(:text,
我有表格标题的代码:CategoryNameClicksAvgCPC($)TotalCost($)CTS(%)TotalOrdersSales($)COS(%)并且需要找出有多少标签具有类“disabledHeader”或至少获取特定的类(由id寻址)。当我这样做时:cl=b.th(:xpath,'//th[@id="categories_convertToSale"]')cl.exist?=>truecl.inspect=>"#\"//th[@id=\\\"categories_convertToSale\\\"]\",:tag_name=>\"th\"}>"cl.class=>Wa
我们有一个独立的测试自动化团队,只负责自动化watir+cucumber功能测试用例。他们的代码库不与其他开发人员正在开发的Rails应用程序相关联,而是保持独立。到目前为止,我们已经自动化了几个测试用例,现在我们遇到的问题是,一些(watir/cucumber规范)测试用例需要一些数据预先存在到db中,所以它(测试用例)应该只关注问题stmt,而不是自行创建任何数据需求。例如,假设它必须检查评级是否适用于帖子,它要求帖子对象应该预先存在并且它只检查评级。而不是创建第一个帖子对象然后检查其评分。这里最好的方法是什么?就像我们有用于Rails单元测试的fixtures和factory-g
在Chrome中,使用watir-webdriver,我点击了一个打开子浏览器窗口的按钮。我愿意:@browser.window(title:'Child').use我成功地与该子窗口中的各种项目进行了交互。很快,在这个窗口中完成了一个操作,站点认为这是首先打开窗口的“点”。例如,@browser.button(title:'Button').click执行此操作时,子窗口将自行关闭。但是,当我告诉watir-webdriver返回使用父窗口时,我收到一个错误:@browser.window(title:'Parent').use#=>resultsin#Selenium::WebDr
我需要测试一些需要拖放一些UI元素的功能。我试图在此页面上执行此操作http://www.html5rocks.com/en/tutorials/dnd/basics/:browser.divs(:class=>"column")[-2].drag_and_drop_onbrowser.divs(:class=>"column")[-3]在chrome中,我没有看到任何事情发生。在Firefox中,我看到鼠标按钮已按下,但没有其他任何事情发生——元素没有移动。我也在其他页面中尝试过,但这似乎从来没有奏效。我也试过这个解决方法(推荐在多线程中使用)但它也不起作用:my_element=b
我已经设置了一个Watir-Webdriver脚本,我想将其报告给远程服务:puts"Starting..."b=Watir::Browser.new:ieputs"Startedbrowser"puts"Settingstatusasnon-idle"request=Net::HTTP::Post.new()url=URI(HOME+'/update_status')request.body=JSON.generate({scrapeId:SCRAPE_ID,status:'working'})#ThisstepfreezesprocessingNet::HTTP.start(url
我已经安装了我的应用程序,它正在以下URL上运行http://localhost:3000上面的URL将加载带有一些字段的表单,然后我将在必填字段中填写数据,然后提交表单。我的div元素将显示在页面底部。图片将显示在iframe和div元素中。用户将上面的URL然后提交表单。提交表单后,图片应该下载到他们的本地机器上。对了,我在提交表单后调用了下面这行代码,我怎样才能将现有页面放入浏览器对象并下载屏幕截图?browser=Watir::Browser.newb.div(:id=>"phone_shell").screenshot("/home/user/Documents/previe
我尝试在我的Instagram上上传图片,所以我需要选择上传文件的路径但我不能使用form.file_field.send_keys(path)因为Instagram通过JS管理上传,所以表单不存在,只有当我点击按钮“+”时才会出现“文件上传”窗口。我试试:@browser.send_keys@path@browser.send_keys:enter但不是太有效...我没有找到与此子窗口“文件上传”交互以提供图像路径的方法。有什么想法吗?编辑:如果我尝试使用包含在中,没有任何反应,“+”上有onClick事件:{!0!==this.$_MobileNav2&&(this.$_Mobil
希望有人能帮助我,要么告诉我这是不可能的,要么给我指出正确的方向。我正在尝试使用WatirRuby编写的测试来检查选中复选框时是否将CSS元素应用于我的页面。我可以很好地检查复选框属性并看到它已被选中,但我必须执行的另一个测试是检查图像是否在选中复选框后突出显示。经过几个小时的搜索,目前我还没有找到任何有用的东西。有没有人遇到过你必须克服的问题,如果有,你是如何解决的。提前致谢 最佳答案 如果您使用的是vanillaWatir(即Windows上的IE浏览器),那么也可以从win32ole对象中获取元素的样式:irb(main):0