jQuery フェードインを機能させる方法がわかりませんでしたが、トグルを使用しました。これで問題ないことを願っています。
<html>
<head>
<style>
#input {
font-weight: bold;
font-size: 16px;
}
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<input type='checkbox' id='check'>Toggle</button>
<input id = 'input' placeholder = 'name'></input>
<script>
$( "#check" ).click(function() {
$( "#input" ).toggle( "slow" );
});
</script>
</body>
</html>
sleep (time)
jQuery/AJAX 要素が終了するまで待つには、ruby を使用する必要があります。これは、 Watir の待機メソッドを説明するリンクです。
Rspec と Watir-Webdriver を使用してブラウザーを自動化しました。これは簡単なスニペットです。これはよりクリーンになる可能性がありますが、達成しようとしていることの方向性を示すはずです。
require 'rspec'
require 'watir-webdriver'
describe 'fade' do
before(:all) do
@browser = Watir::Browser.new :chrome
@browser.goto('file:///C:/Users/bashir.osman/Desktop/test.html')
end
it 'checks fade' do
puts "so...#{@browser.input(:id, 'check').exists?}"
@browser.input(:id, 'check').click
sleep 1
exists1 = @browser.input(:id, 'input').visible?
if exists1 == false
puts 'Currently input is not visible'
puts 'Will click input again'
@browser.input(:id, 'check').click
sleep 1
exists2 = @browser.input(:id, 'input').visible?
exists2.should == true
end
end
end
テストの内容は次のとおりです。
- チェックボックスのクリック
- が表示されているかどうかを確認し
#input
ます。これは false を返すはずです。
- チェックボックスをもう一度クリックします
- `#input が表示されているかどうかを確認します。これはtrueを返すはずです
.exists?
要素がDOMに存在するため、これは常にtrueを返すため、使用しません。present?
要素が存在し、ページに表示されている場合は true を返します。visible?
要素が表示されているかどうかに応じて true/false を返します。