2017-08-31 34 views
0

チェックボックスをオンにしているかどうかをチェックするテストを作成しようとしています。チェックボックスがオフになっていることを確認してください。

私はすでにチェックボックスをチェックするコードを書かれている

driver.find_element(:id, 'id_of_the_element').click(); 

が、私はまだそれが他のテストケース

TYIAのためにもチェックされたかどうか確認したいです!

+0

あなたが使っているものについてのidkですが、Androidでは関数がisChecked()と呼ばれているかもしれません。 –

+0

@SaikCaskey、私はテストケースを書くためにrubyとcapybaraを使用しています。 – Aurb

答えて

0

ruby​​のコードスニペットを書いて以来、Rubyのコードスニペットが期待されていると思います。このチェックボックスをオフにすると、このコードが機能します。その中にさらに変更が必要な場合は、変更することができます。

element=driver.find_element(:id, 'id_of_the_element'); 
    if(element.attribute("checked")=="false") 
    { 
     element.click(); 
    } 
+0

この方法は私のために働きます!感謝! – Aurb

0
if((cb.isChecked()) 
{ 
    //Checkbox is true. 
} 
else 
{ 
    //Checkbox is false. 
} 
+1

このコードスニペットは問題を解決するかもしれませんが、なぜそれが質問に答えるか説明しません。コードの説明を含めてください。本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そういう人々はあなたのコード提案の理由を理解していないかもしれません。 –

0

チェックボックスは、あなたがこのようなisChecked()メソッドを呼び出す必要があり確認されているかどうかを確認するには:あなたがsetChecked()メソッドの受け渡しを呼び出す必要があり、チェックボックスの状態を設定する一方で

if(checkbox.isChecked()) { 
    // The checkbox is checked 
} else { 
    // The checkbox isn't checked 
} 

をそれを確認するにはパラメータtrueを、チェックを外すにはfalseを選択します。

0

あなたがappiumとカピバラを使用している表示されますが、何らかの理由では、ドライバ固有のメソッドを呼び出すのではなく、通常のカピバラのAPI を使用しています。代わりにdriver.find_element(:id, 'id_of_the_element').click();あなただけのIDが「id_of_the_element」で要素を見つけてクリックし

page.find(:id, 'id_of_the_element').click() # use the id selector 
page.find('#id_of_the_element').click() # use default CSS with an id selector 

のいずれかを呼び出す必要があります。特定の要素タイプを扱う場合、他にも利用可能なメソッドがあるので、チェックボックスにはcheckuncheck-があります。チェックボックスをオンまたはオフにしてチェックボックスをオンまたはオフにします。だから、

page.check('id_of_the_element) 

が<入力タイプ=「チェックボックス」のid = 'id_of_the_elementを確認します>要素は、状態は以前と何でもチェック状態で残されています。

あなたはまだチェックボックスがチェックされているかどうかを確認する必要がある場合 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Element#checked%3F-instance_method - あなたは

page.find('#id_of_the_element').checked? # return checked state of any element 
page.find(:checkbox, 'id_of_the_element').checked? # will only find actual checkbox elements 
page.find_field('id_of_the_element', type: 'checkbox').checked? 
... 

か、チェックボックスは、次のいずれかのことを行いますチェックされていることを主張する場合のいずれかを使用することができます - http://www.rubydoc.info/gems/capybara/Capybara/RSpecMatchers

expect(page).to have_selector(:checkbox, 'id_of_the_element', checked: true) 
expect(page).to have_field('id_of_the_element', type: 'checkbox', checked: true) 
expect(page).to have_checked_field('id_of_the_element') 
+0

page.findメソッドを使用しようとすると、そのページで使用可能なすべての要素idがリストされていますが、その要素を見つけることはできません。 page.find_elementは何とか動作します。あなたが私に与えたすべての文書を読まなければならないと思います。ありがとう! – Aurb

+0

@AurbそれであなたはAppiumで実際にCapybaraを使用していないように思えますし、質問からCapybaraタグを削除する必要があります。 –

0

私は(このようなことになるのpythonで)...ずっとsimplierだと思う

def isChecked(self, webElement): 
    if webElement.get_attribute("checked") == 'true': 
     return True 
    else: 
     return False 
関連する問題