Tag: watir

如何处理无法加载并继续在Watir-Webdriver中测试的页面

我已经找到了其他问题的答案,但我找不到一个。 我的问题是我需要测试一些结果,但是当我点击没有加载页面的Url时,我的脚本会一直失败。 以下Url无法加载。 当此Url未加载时,我想继续我的测试。 http://www.mycounciltax.org.uk/results?postcode=WC1N1DF&search=Search 我试过用: begin Timeout::timeout(30) do //enter part that is hanging end end 然而,脚本只是退出。 下面是我正在使用的完整脚本。 脚本将超时并退出…. browser.goto “http://www.mycounciltax.org.uk/results?postcode=WC1N1DF&search=Search” 有关如何允许脚本继续(绕过此Url的测试)并转到下一个脚本的任何想法? require “watir-webdriver” browser = Watir::Browser.new :ff browser.goto “http://www.mycounciltax.org.uk/results?postcode=cv5+6bz&search=Search” content = browser.table.trs.collect {|tr| [tr[0].text, tr[1].text, tr[2].text]} require ‘win32ole’ application = WIN32OLE.new(‘Excel.Application’) application.visible = TRUE workbook = application.Workbooks.Add(); worksheet = workbook.Worksheets(1); worksheet.visible row = 1; […]

用watir检查标签类?

我有一个div,根据表单是否正确提交而更改。 我想知道是否可以检查课程的特定元素? 开始元素看起来像这样。 如果输入不正确,请添加错误类。

LoadError:无法加载此类文件 – selenium / webdriver / phantomjs

我在我的Cucumber Hooks文件中有这个代码来运行它正在工作的ghost驱动程序,直到昨天我开始看到错误消息: Before do Selenium::WebDriver::PhantomJS.path = ‘C:\phantomjs-2.1.1-windows\bin\phantomjs.exe’ @browser = Watir::Browser.start “https://www.google.com”, :phantomjs @browser.window.maximize end 错误信息: LoadError: cannot load such file — selenium/webdriver/phantomjs

数组测试自动化的示例

请问我可以获得ruby数组的帮助以获取所有文本………….请找到附件 # 例如: ary = @browser.p(class:”sv ng-binding ng-scope”) ary = Array.new p ary.length ary.each do |myRole| puts “User role: #{myRole.text}” end #但它不起作用

watir浏览器对象可以在以后的Ruby进程中重用吗?

所以,让我们说经常运行一个脚本来打开一个浏览器并做网络事情: require ‘watir-webdriver’ $browser = Watir::Browser.new(:firefox, :profile => “botmode”) => # 它可以使用browser.close优雅地结束,或者它可能会更快崩溃并留下需要大量内存的Firefox进程,直到它们累积并使服务器慢速爬行时才会被忽视。 我的问题有两个: 什么是一个好的做法,以确保即使在任何导致立即错误退出的脚本失败的情况下,子进程将始终被清理(我已经有许多短的begin-rescue-end块用于其他无关的小测试) 更重要的是,我可以简单地记住这个Watir :: Browser:0x7fc97b06f558对象地址或PID,并在一个全新的Ruby进程中将其重新分配给另一个$ browser变量,例如irb? 即,webdriver上的孤立浏览器可以在同一台机器上使用watir-webdriver在其他程序中重新附加? 从irb我可以进入并重新连接到崩溃的Ruby脚本留下的浏览器,检查它所在的网站,检查出错的地方,哪些元素与预期不同等等。 后者的另一个非常有利的用途是避免每天可能有数百个浏览器启动和关闭的开销……最好将一个活着作为一个守护进程。 第一次运行将尝试使用我专门准备的botmode配置文件重用以前的浏览器对象,否则创建一个。 然后我故意不在我的脚本末尾调用$ browser.close。 如果没有其他的东西我在工作中杀死Xvfb:99显示FF在一天结束时运行(无论如何,如果仍在运行,FF别无选择,只能死掉它)。 是的我知道Selenium独立jar,但也试图避免那个java服务足迹。 如果这是一个基本的Ruby问题,请道歉。 我只是不确定如何表达它并继续获得不相关的搜索结果。

的Watir。 滚动到页面的某个点

我试图在网站上自动进行在线调查,但每次都会出现此错误: Selenium::WebDriver::Error::UnknownError: unknown error: Element is not clickable at point (561, 864). Other element would receive the click: a id=”habla_oplink_a” class=”habla_oplink_a_normal hbl_pal_header_font_size hbl_pal_title_fg ” 我需要了解的是如何滚动到页面的某个点,以便我的脚本可以恢复填写页面上的调查。 这是我的代码,它设法填写调查的一部分,但是当它到达浏览器内部不在视图中的行(需要用户向下滚动到的行)时失败: buttons = browser.elements(:class => “assessment-choice”) buttons.each do |button| button.click end 我还希望能够更改我的代码,以便它只选择一个特定的选项,但页面上的HTML不是很友好。 这是我正在查看的网页: https : //staging2.clearfit.com/assessment/assessment/95867fb272df436352a0bd5fbdd 调查中其中一个选项的HTML: StronglyAgree

停止加载页面watir-webdriver

有没有办法在firefox上停止使用watir-webdriver加载页面? 或者,即使页面仍在加载,有没有办法在我的脚本中强制执行某些操作? 在我的脚本中,网站将挂起,脚本最终会超时。

如何指定chromedriver二进制文件的位置

之前我把Chrome二进制文件“chromedriver.exe”放在“C:/ Windows”目录中,Watir从那里选择它。 现在我必须将我的项目移动到另一台机器上,因此我无法对可执行路径进行硬编码。 我还希望二进制文件与Git上的代码保持一致,而不是让每个测试工程师在发布新版本时手动更新二进制文件。 现在我已经将Chrome二进制文件放在绝对路径上,但是找不到它。 这是我尝试过的(hooks.rb): Before do puts “inside hooks in before” profile = Selenium::WebDriver::Chrome::Profile.new profile[‘download.prompt_for_download’] = false profile[‘download.default_directory’] = File.join(File.absolute_path(‘../..’, File.dirname(__FILE__)),”browsers/chromedriver.exe”) @browser = Watir::Browser.new :chrome, :profile => profile end 输出是: inside hooks in before Selenium::WebDriver::Error::WebDriverError: Unable to find the chromedriver executable. Please download the server from http://chromedriver.storage.googleapis.com/index.html and place it somewhere on your […]

我如何在Watir中模拟私人浏览体验? (selenium)

Watir是一款基于Selenium的黑盒测试工具,可以在浏览器上自动执行任务。 我希望能够打开一个处于隐私浏览模式的Watir :: Browser.new。 谢谢

如何使用watir和IE上传文件?

我正在编写一个watir脚本来测试上传表单。 但是脚本不会自动选择要从我的硬盘上传的文件。 相反,IE会在文件选择器对话框打开时停止。 只要我在对话框中手动选择要上传的文件并单击“确定”,watir就会根据需要继续。 我想知道为什么它会停止。 这是我的watir脚本: require ‘test/unit’ require ‘watir’ # runs on win3k, IE 6.0.3790; ruby 1.8.6, watir class EpcHomePage < Test::Unit::TestCase def test_upload ie = @browser htmlfile = "C:\\testing\\upload.html" uploadfile = "C:\\testing\\upload.html" ie.goto(htmlfile) ie.file_field(:name,"file1").set(uploadfile) assert_equal uploadfile, ie.file_field(:name,"file1").value ie.button(:name, 'upload').click end def setup @browser = Watir::IE.new end def teardown @browser.close end end 我从这个页面得到了代码: http […]