检查复选框是否未选中
Check if checkbox is unchecked
我正在尝试编写一个测试来检查复选框是否已选中,如果未选中,我将使用什么方法来选中它。
我已经编写了检查复选框的代码,
driver.find_element(:id, 'id_of_the_element').click();
但我仍然想检查它是否也被其他测试用例检查过
蒂娅!
if((cb.isChecked())
{
//Checkbox is true.
}
else
{
//Checkbox is false.
}
要检查复选框是否被选中,您必须像这样调用 isChecked()
方法:
if(checkbox.isChecked()) {
// The checkbox is checked
} else {
// The checkbox isn't checked
}
虽然要设置复选框的状态,但您必须调用作为参数传入的 setChecked()
方法 true
来选中它,false
来取消选中它。
我认为您期待 Ruby 中的代码片段,因为如果您想选中未选中的复选框,则为 ruby.This 编写的代码片段有效。如果您需要在其中进行更多更改,可以进行修改。
element=driver.find_element(:id, 'id_of_the_element');
if(element.attribute("checked")=="false")
{
element.click();
}
您似乎在将 Capybara 与 appium 一起使用,但出于某种原因,您正在调用特定于驱动程序的方法,而不是使用普通的 Capybara API
.而不是 driver.find_element(:id, 'id_of_the_element').click();
你应该只调用
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
查找并单击 ID 为 'id_of_the_element' 的元素。当处理特定的元素类型时,还有其他可用的方法,所以对于复选框,我们有 check
和 uncheck
- http://www.rubydoc.info/gems/capybara/Capybara/Node/Actions#check-instance_method - 将选中或取消选中一个复选框,同时检查它是否已经存在checked/unchecked。所以
page.check('id_of_the_element)
将确保
或者如果你想断言一个复选框被选中,下面的任何一个都可以做到这一点 - 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')
我觉得就简单多了...(有了python就会这样)
def isChecked(self, webElement):
if webElement.get_attribute("checked") == 'true':
return True
else:
return False
我正在尝试编写一个测试来检查复选框是否已选中,如果未选中,我将使用什么方法来选中它。
我已经编写了检查复选框的代码,
driver.find_element(:id, 'id_of_the_element').click();
但我仍然想检查它是否也被其他测试用例检查过
蒂娅!
if((cb.isChecked())
{
//Checkbox is true.
}
else
{
//Checkbox is false.
}
要检查复选框是否被选中,您必须像这样调用 isChecked()
方法:
if(checkbox.isChecked()) {
// The checkbox is checked
} else {
// The checkbox isn't checked
}
虽然要设置复选框的状态,但您必须调用作为参数传入的 setChecked()
方法 true
来选中它,false
来取消选中它。
我认为您期待 Ruby 中的代码片段,因为如果您想选中未选中的复选框,则为 ruby.This 编写的代码片段有效。如果您需要在其中进行更多更改,可以进行修改。
element=driver.find_element(:id, 'id_of_the_element');
if(element.attribute("checked")=="false")
{
element.click();
}
您似乎在将 Capybara 与 appium 一起使用,但出于某种原因,您正在调用特定于驱动程序的方法,而不是使用普通的 Capybara API
.而不是 driver.find_element(:id, 'id_of_the_element').click();
你应该只调用
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
查找并单击 ID 为 'id_of_the_element' 的元素。当处理特定的元素类型时,还有其他可用的方法,所以对于复选框,我们有 check
和 uncheck
- http://www.rubydoc.info/gems/capybara/Capybara/Node/Actions#check-instance_method - 将选中或取消选中一个复选框,同时检查它是否已经存在checked/unchecked。所以
page.check('id_of_the_element)
将确保
或者如果你想断言一个复选框被选中,下面的任何一个都可以做到这一点 - 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')
我觉得就简单多了...(有了python就会这样)
def isChecked(self, webElement):
if webElement.get_attribute("checked") == 'true':
return True
else:
return False