我是红宝石和黄瓜的新手,试图自动化。 我需要在表格内单击href链接(Check1和Check2)。我试过了:
@browser.link(:href => "http://googlenet.com.au").click
@browser.table(:href => "http://googlenet.com.au").click
以及:
@browser.find(:linkText => "Check1").click() \\{capybara}
我无法在运行时找到元素错误或未定义的方法 如何点击它?如果我不得不使用capybara,是否需要在env.rb或任何其他文件中进行任何配置,以便包括capybara gem?
我的HTML看起来像:
<html webdriver="true">
<head></head>
<body class="background_colour" onload="loadHeader()">
<div id="content_wrapper">
<h2></h2>
<br></br>
<table class="menuTable">
<tbody>
<tr>
<td width="5%"></td>
<td width="25%">
<strong></strong>
</td>
<td width="70%"></td>
</tr>
</tbody>
</table>
<table class="menuTable">
<tbody>
<tr>
<td width="10%"></td>
<td width="25%">
<h3>
<!-- B:Registration Link[START] Mod… -->
<span class="black_font"></span>
<a href="https://google.com/channel1_" target="_blank">Check1</a>
<!-- B.Registration Link[START] Mod… -->
</h3>
</td>
<td width="65%"></td>
</tr>
<tr>
<td width="10%"></td>
<td width="25%">
<h3>
<span class="black_font"></span>
<a href="http://googlenet.com.au" target="_blank">Check2</a>
</h3>
</td>
<td width="65%"></td>
</tr>
</tbody>
</table>
<table class="menuTable">
<tbody>
答案 0 :(得分:1)
你可以使用
click_link('Check1')
click_link('Check2')
看看这个以及
https://www.launchacademy.com/codecabulary/learn-test-driven-development/rspec/capybara-cheat-sheet
修改
关于你的无方法错误,这是我使用的基本设置,不会给我任何问题
的Gemfile
source 'https://rubygems.org'
gem 'cucumber'
gem "capybara"
gem 'rspec'
gem 'selenium-webdriver'
capybara_drivers.rb
Capybara.register_driver :firefox do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
profile.native_events = true
Capybara::Selenium::Driver.new(app, :browser => :firefox)
end
env.rb
require 'capybara/cucumber'
require 'selenium-webdriver'