返回一个有时仅会使用的对象

时间:2019-02-19 22:26:03

标签: python selenium pageobjects

Python-页面对象模型

返回仅在80%的情况下使用的页面对象是否违反任何最佳做法?

def delete_list_item_by_name(self, item_name):
    ... code to find the proper list item ...
    row_del_btn = self.helpers.wait().until(ec.visibility_of(row.find_element(*self.DELETE_BTN)))
    ActionChains(self.driver).move_to_element(row_del_btn).click(row_del_btn).perform()
    return DeleteConfirmModal(self.driver)

问题在于,点击删除按钮后,deleteConfirmModal(弹出窗口)仅弹出 80%的时间。因此,对于是否应该返回页面对象有不同的看法。页面对象没有init,因此不会导致失败。返回页面对象更方便。

1 个答案:

答案 0 :(得分:1)

您实际上返回了对该对象的引用,这意味着,如果不使用该对象,则会对其进行垃圾回收(从内存中删除)。

在性能方面不会造成重大问题。

就最佳做法而言,您应该适当地命名函数,以表明它返回的内容pop_by_name可能更好(pop表示删除并返回)。