Tag: webdriver

ruby webdriver如何在对中获取带连字符的元素

我有像下面的HTML,我想通过“sku-code”获取元素(其中有一个连字符) 我用的时候 browser.div(:sku-code=>’m_showcase’) ruby报告错误 ERROR:undefined local variable or method `code’ for # 同样ruby无法识别“sku-code”作为名称,任何人都可以给我任何关于如何通过“sku-code”获取元素的建议? 谢谢。 很抱歉没有清楚地解释自己。 有许多元素都有sku-code选择器,我想在列表中收集所有元素,因此类名和标签名称不稳定。 我怎样才能做到这一点

Ruby中的Webdriver,如何检查元素是否存在

我在Ruby中使用Webdriver,我想validation页面上是否存在三个文本。 这是我要validation的html片段: many subtags test1 manny other test2 manny other test3 manny other > 如何使用在此页面上validation“test1”,“test2”和“test3” find_element find_elements getPageSource? 它的最佳方法是什么? 非常感谢你。

有没有办法使用Watir-Webdriver在网页中自动测试闪存?

我正在尝试测试使用Flex构建的几个网页,并且需要通过Flash界面自动点击几个video。 我正在使用Ruby和Watir-Webdriver,但我不确定如何使用它们与Flash进行交互。 有没有人想到这个? 我尝试过使用Sikuli,但发现它有点笨重但不是很快。 任何想法将不胜感激。

如何使用Selenium Ruby Webdriver双击表中的单元格

我正在尝试使用下面的代码双击我的Web应用程序中的表格中的单元格(我试图单击两次,希望它们等于双击)。 但是,根本没有单击该单元格,但我希望在双击单元格后,将显示文本字段以便我编辑该单元格的信息。 @driver.find_element(:xpath => “//table[@id=’gridabc’]//tr[1]/td[9]”).click @driver.find_element(:xpath => “//table[@id=’gridabc’]//tr[1]/td[9]”).click 我正在使用Selenium Ruby Webdriver 。 请帮助指导我解决此问题的方法。 非常感谢。

在缓存中找不到元素 – 自从在Selenium Ruby Web驱动程序中查找以来页面可能已更改?

我正在尝试编写一个爬虫程序,它从加载的页面中抓取所有链接,并将所有请求和响应标题以及响应正文记录在某些文件中,例如XML或txt。 我在新浏览器窗口中打开第一个加载页面的所有链接,所以我不会收到此错误: Element not found in the cache – perhaps the page has changed since it was looked up 我想知道什么是另一种方式来发出请求并从所有链接接收响应,然后找到输入元素并从所有打开的窗口提交按钮。 我可以在某种程度上做到这一点,除非打开的窗口在右上角的http://www.testfire.net上有一个常见的站点搜索框。 我想要做的是我想省略这样的常用框,以便我可以使用webdriver的i.send_keys “value”方法填充其他输入值并且不会出现此错误错误:在缓存中找不到元素 – 也许页面有因为它被抬起而改变了。 检测和区分每个打开的窗口的输入标记的方法是什么,以便在网站的大多数页面上出现的常见输入标记中不会重复填充值。 我的代码如下: require ‘rubygems’ require ‘selenium-webdriver’ require ‘timeout’ class Clicker def open_new_window(url) @driver = Selenium::WebDriver.for :firefox @url = @driver.get ” http://test.acunetix.com ” @link = Array.new(@driver.find_elements(:tag_name, “a”)) @windows = Array.new(@driver.window_handles()) @link.each […]

检查元素是否在Selenium / WebDriver(Ruby)中有标签

我有以下HTML代码: Remember me 我想检查session_remember_me字段是否有标签Remember me如何检查?

Selenium 2.0 Webdriver&Ruby,除.text之外的链接元素方法? Navigate.to数组中的链接?

我在将一些样品测试/规格从Watir转换为Selenium时更进一步。 在我的最后一个问题和建议的回复后,我开始使用Selenium 2.0与WebDriver而不是Selenium 1。 有问题的例子涉及将表中的所有链接收集到一个数组中 – 该部分是完整的。 但是,一旦链接在数组中,我可以与它们交互的唯一有意义的方式似乎是.text。 使用@ driver.navigate.to Array [1]在浏览器中显示URL格式错误,link.href或.src不是有效选项。 Watir实现收集了这些链接(用户通过CMS添加的页面),将它们存储在一个数组中,然后逐个访问每个页面,提交一个潜在客户表单。 我相信我可以使用Selenium工作并重新访问包含提交表单提交之间所有链接的“主页”页面,但这可能意味着数百个额外的页面加载,缓存与否。 到目前为止的代码:’@ country = Array.new @browser.navigate.to “http://www.testingdomain{$env}.com/global” @browser.find_elements(:xpath, “//table[@class=’global-list’]//a”).each do |link| @countries << [link.text, link.href] ## The original WATIR line that needs an update end #links @countries.uniq! #DEBUG for false CMS content' 我在selenium-webdriver文档中找到的最接近的项目是(字符串).attribute方法,但同样,我不确定哪些属性

如何将iphone模拟器连接到selgrid 2?

我已经完成了这里列出的所有步骤来设置一个支持webdriver的iphone模拟器。 在创建驱动程序实例时,我还可以使用以下代码在本地运行模拟器时运行我的脚本。 driver = Selenium::WebDriver.for :remote, :url => “http://localhost:3001/wd/hub”, :desired_capabilities => :iphone 我打算做的是将这个模拟器连接到sel grid 2,它有一个在windows机器上远程运行的集线器。 有人可以分享命令在mac机器上启动selenium webdriver节点(巧合的是我的本地机器)。 就像是 java -jar selenium-server-standalone-2.21.0.jar -role webdriver -hubHost remotewindowmachine.com -hubPort 4444 -hub http://remotewindowmachine.com:4444/grid/register -host iphoneIP/hub -port 3001 -browser browserName=iphone 这会引发错误 Exception in thread “main” java.net.BindException: Selenium is already running on port 3001. 这看起来很明显,但我很困惑要做什么。 那么有人可以帮助我吗?

使用WebDriver和Ruby与JavaScript下拉菜单交互?

我正在使用Ruby和Selenium WebDriver为网页编写自动化,但遇到了一个阻塞问题,网站上的一些下拉菜单是使用JavaScript而不是标准HTML制作的。 在这些下拉菜单中,用户可以从下拉列表中选择一个选项或单击它并开始键入它以根据键入的内容过滤结果(我假设这些下拉列表可能是非常长的列表选项)。 问题是我无法找到使用WebDriver与它们交互的方法,虽然我已经设法使用下面的代码在Selenium IDE中使用它,但是将此IDE脚本导出到Ruby不起作用: select css=select[name=dsref] demo 我使用的WebDriver代码是: def clickOn (parameters = {}) # This will accept a locator type and name to click on # # EXAMPLE # # clickOn( # locatorType: :link, # locatorName: ‘Home’ # ) # # This will click on the link named ‘Home’ locatorType = parameters[:locatorType] locatorName = […]

使无头浏览器停止加载页面

我正在使用watir-webdriver ruby​​ gem。 它启动浏览器(Chrome)并开始加载页面。 页面加载太慢,watir-webdriver引发超时错误。 如何让浏览器停止加载页面? require ‘watir-webdriver’ client = Selenium::WebDriver::Remote::Http::Default.new client.timeout = 10 @browser = Watir::Browser.new :chrome, :http_client => client sites = [ “http://google.com/”, “http://yahoo.com/”, “http://www.nst.com.my/”, # => This is the SLOW site “http://drupal.org/”, “http://www.msn.com/”, “http://stackoverflow.com/” ] sites.each do |url| begin @browser.goto(url) puts “Success #{url}” rescue puts “Timeout #{url}” end end ########## Execution result […]