返回仅有时使用的对象

问题描述 投票:2回答:1

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,因此不会导致失败。返回页面对象更方便。

python selenium pageobjects
1个回答
1
投票

实际上,您返回对该对象的引用,这意味着,如果未使用它,它将被垃圾收集(从内存中删除)。

它在性能方面没有引起重大问题。

在最佳实践方面,你应该恰当地命名你的函数,以表明它返回的东西pop_by_name可能会更好(pop意味着删除和返回)。

© www.soinside.com 2019 - 2024. All rights reserved.