从同一个类中的另一个方法调用变量

时间:2016-12-21 21:20:34

标签: python python-2.7 oop

我的方案

我只有一个有两种方法的类。在第一种方法中,我将值存储在变量中。在第二种方法中,我尝试调用这些变量

class UpdateTallysheet(Page):

    def confirme_status_capture_exp_value(self):

        self.select_dropdown_value(EventsLocators.STATUS, "8")
        value_1 = self.find_element(EventsLocators.EXAM_EXP_VALUE).get_attribute("value")
        value_2 = self.find_element(EventsLocators.PANO_EXP_VALUE).get_attribute("value")
        value_3 = self.find_element(EventsLocators.TREATMENT_EXP_VALUE).get_attribute("value")

        self.find_element(EventsLocators.SAVE_BUTTON).click()
        WebDriverWait(self.driver, AUTOCOMPLETE_TIMEOUT).until(
            EC.text_to_be_present_in_element((By.CLASS_NAME, "success"), 'Event updated successfully'))
        self.find_element(EventsLocators.TALLYSHEET_LINK).click()

    def fill_date(self):

        self.select_current_date(EventsLocators.DATE_RECEIVED, EventsLocators.CURRENT_DATE)
        self.select_current_date(EventsLocators.DATE_COMPLETED, EventsLocators.CURRENT_DATE)
        print self.value_1

我的错误

AttributeError: 'UpdateTallysheet' object has no attribute 'value_1'

如何在另一种方法中使用变量value_1

1 个答案:

答案 0 :(得分:4)

您需要使用self

将其设置为实例变量
class UpdateTallysheet(Page):
    def confirme_status_capture_exp_value(self):
        self.select_dropdown_value(EventsLocators.STATUS, "8")
        self.value_1 = self.find_element(EventsLocators.EXAM_EXP_VALUE).get_attribute("value")
        self.value_2 = self.find_element(EventsLocators.PANO_EXP_VALUE).get_attribute("value")
        self.value_3 = self.find_element(EventsLocators.TREATMENT_EXP_VALUE).get_attribute("value")

然后您可以使用self.value_1

在另一种方法中使用它