我有一种检查下拉字段是否具有所选值的方法。
在GUI下拉菜单中选择的值是" PAF"。
我正在使用Select类中的first_selected_option,它应该从下拉字段中检查所选值。
我使用If Then Else来检查下拉列表中的值是否与" PAF"的预期值相匹配。
我得到假而不是真。
这是我的Selenium Webdriver Python代码片段:
def is_dropdown_selected_from_advanced_cleaning_output_tab(self, field):
selected_dropdown_option = Select(self.get_element(*MainPageLocators.mappings_paf_output_dropdown)).first_selected_option
print (str(selected_dropdown_option))
if (str(selected_dropdown_option)) == field:
return True
else:
return False
从我的TestCase类调用方法:
self.assertTrue(mappings.is_dropdown_selected_from_advanced_cleaning_output_tab("PAF"))
在GUI中,在下拉列表中选择了PAF。为什么它会返回假?我的代码出了什么问题?
我认为我没有将字符串值正确地输入变量selected_dropdown_option 我试过(str(selected_dropdown_option))这不是获取字符串值的正确方法吗?
谢谢, 里亚兹
答案 0 :(得分:0)
我没有测试过这个,但试试这个。看起来你试图将你的webelement转换为字符串,你应该得到文本。例如:selected_dropdown_option.text
def is_dropdown_selected_from_advanced_cleaning_output_tab(self, field):
selected_dropdown_option = Select(self.get_element(*MainPageLocators.mappings_paf_output_dropdown))
selected_dropdown_option.select_by_visible_text(field)
selected_text = selected_dropdown_option.text
if(selected_text == field):
return True
else:
return False