Tag: selenium

Selenium找不到类型编号的字段

我在让Cucumber找到HTML5 type=”number”字段时遇到问题。 我不是他们在浏览器中看起来的忠实粉丝,但我有几个字段需要移动设备上的数字键盘,这似乎是获得它的最简单方法。 我正在使用SimpleForm来构建表单,当我设置:as => :text一切正常,但如果我设置:as => :number ,则字段不会被填写。 我没有得到任何错误,该领域只是没有得到填补。 具体来说,当我有这样一个步骤时: And I fill in “application_form_age” with “52” 然后这个标签将不会填写: ​ 但是这个有效: ​ 此外,它只发生在@javascript场景中。 在没有必要使用@javascript并且场景没有启动浏览器的情况下,这也可以正常工作。 事物的版本: capybara (2.2.1) cucumber (1.3.14) selenium-webdriver (2.41.0) simple_form (2.1.1) webrat (0.7.3) Firefox 29.0 我很难过。 我尝试了一堆我的应用程序JS和CSS,看看我正在做的事情是否打破它,但没有运气。 我只是通过强制那些字段在我的测试环境中没有HTML5类型号来修补它,但我不想那样生活。 还有其他人看到这个吗? 我无法找到任何引用它,这使它看起来像我正在做的事情。 但我无法弄明白。

黄瓜,水豚和selenium – 提交没有按钮的表格

我有一个使用Cucumber,capybara和selenium驱动器的测试。 此测试应该转到表单并提交。 正常的文字是 Scenario: Fill form Given I am on the Form page When I fill in “field1” with “value1” And I fill in “field2” with “value2” And I press “OK” Then I should see “Form submited” 问题是我没有表单中的OK按钮,我需要一种方法来执行“form.submit”,而不需要单击任何按钮或链接 – 就像在表单字段中按Enter时一样使用浏览器。 我不知道如何告诉capybara提交表格。 我该怎么做?

Ruby Selenium Web Drive:如何通过xpath div id和css类查找特定元素

我有一个下面的HTML,我试图使用ruby selenium web驱动程序进行测试 validated.txt test-client Ref001 Error.txt This invoice contains an error test-client Ref002 Pending.txt 我试图使用selenium web驱动程序在Ruby中找到任何给定div id的svg元素 rows = driver.find_elements(:css => “div.container-fluid.container-results >div\##{row_number.to_i-1} >ul >li >a >svg”) 但是当我运行第1行的脚本时,我正处于exception之下 invalid selector: An invalid or illegal selector was specified (Session info: chrome=57.0.2987.133) (Driver info: chromedriver=2.28.455520 (cc17746adff54984afff480136733114c6b3704b),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide […]

带Ruby的PageObject – 在文本字段中设置文本只能在主文件中使用

我正在自动化一个网站,该网站的页面包含一个单选按钮选择的选项列表。 选择其中一个无线电时,会显示文本字段和选择列表。 我创建了一个文件(test_contracting.rb),它是我执行测试的文件(ruby test_contracting.rb)和其他一些代表我的页面的类。 在我的类ContractPage上,我有以下元素声明: checkbox(:option_sub_domain, :id => “option_sub_domain”) text_field(:domain, :id => “domain_text”) select_list(:tld, :id => “domain_tld”) 我在ContractPage中创建了一个方法来设置域的配置,如下所示: def configure_domain(config={}) check_option_sub_domain domain = config[:domain] tld = config[:tld] end 当我从test_contracting.rb调用configure_domain方法时,它会选择单选按钮,但它不会使用值填充该字段。 参数正确地进入方法。 我用“puts”检查了它。 即使我将params更改为像“bla”这样的一般字符串,它也不起作用。 令人讨厌的一点是,如果在test_contracting.rb上我调用完全相同的组件,它就可以工作。 my_page_instance = ContractPage.new(browser) my_page_instance.domain = “bla” my_page_instance.tld = “.com” 我发现工作的是在configure_domain方法中,实现以下内容: domain_element.value = config[:domain] tld_element.send_keys config[:locaweb_domain] 然后它奏效了。 我可以在这里找到我作为参考使用的PageObjects模块的文档: http : //rubydoc.info/github/cheezy/page-object/master/PageObject/Accessors#select_list-instance_method 你们有没有解释为什么pageobject自动生成的方法设置对象的值在这个范围/上下文中不起作用? 顺便说一句,一位朋友用Java尝试了同样的事情,但也失败了。

如何自动停止chromedriver打开设置选项卡?

当我运行ruby watir脚本打开chrome浏览器时,它还会打开另一个带有地址“chrome:// settings / help”的chrome选项卡,并将焦点放在那里。 如何禁用创建此类附加标签?

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 Selenium Web驱动程序:如何计算特定节点的子元素节点

我是新手selenium程序员请帮帮我… 我有html以下,我试图计算元素 的子节点,这是4(1 div和3 li元素) ADD ATTACHMENTS SIGN DRAFT 目前我正在单独计算计数如下( row变量高于html) li_actions_count = row.find_elements(:xpath => “./li”).length div_actions_count = row.find_elements(:xpath => “./div”).length 任何人都可以使用selenium web驱动程序在Ruby中使用一种简单的方法来帮助我

如何在执行操作之前让Selenium / Ruby bot等待?

我正在构建一个点击元素的Selenium / Ruby Web机器人。 问题是,在僵尸程序决定无法找到该元素之前,有时没有足够的时间加载页面。 在执行操作之前让Selenium等待的Ruby方法是什么? 我更喜欢明确的等待,但我也很好地隐瞒等待。 我试着使用wait.until方法: require “selenium-webdriver” require “nokogiri” driver = Selenium::WebDriver.for :chrome wait = Selenium::WebDriver::Wait.new(:timeout => 15) driver.navigate.to “http://google.com” driver.wait.until.find_element(:class, “gb_P”).click 但是我收到以下错误: Undefined method ‘wait’ for 我也尝试过: require “watir-webdriver/wait” … driver.find_element(:class, “gb_P”).wait_until.click 但这也给了我一个未定义的方法错误: undefined method `when_present’ for #

如何在运行selenium ruby​​ webdriver脚本时从命令提示符ruby窗口输出文件时导出结果

目前,我正在我的测试套件中运行所有selenium脚本(由Selenium Ruby Webdriver编写),在“使用Ruby启动命令提示符”终端中使用rake gem。 要做到这一点,我必须创建一个名为“rakefile.rb”的文件,其中包含以下内容,并在我的终端中调用“rake”:(我在之前的post中根据一个人的指南了解这些知识)。 task :default do FileList[‘file*.rb’].each { |file| ruby file } end 但是,如果执行时有一个脚本失败,则将终止运行。 请帮忙指导我如何修改“rakefile.rb”,这样如果有一个脚本失败,系统会忽略它并继续在我的测试套件中运行下一个脚本? 另外,您可以建议我在将脚本运行到一个输出文件时编写所有结果吗?或者将每个脚本的结果放在每个输出文件中,输出文件将显示脚本列表失败。 任何帮助表示赞赏。 非常感谢。

无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)

我使用的是Firefox版本36.0.1和Selenium-Webdriver gem版本2.45.0。 我能够创建Firefox实例但无法继续使用脚本进行进一步操作无法在60秒(127.0.0.1:7055)错误中获得稳定的firefox连接。 有人能帮我吗 ?