Selenium Python检查是否选择了具有预期值的下拉列表。我变得虚假

时间:2015-09-25 20:41:17

标签: python-2.7 selenium selenium-webdriver

我有一种检查下拉字段是否具有所选值的方法。 在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))这不是获取字符串值的正确方法吗?

谢谢, 里亚兹

1 个答案:

答案 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