Python 函数(生菜步骤)总是返回 True

Python function (lettuce step) always retrurn True

我正在使用 selenium 和 lettuce 在 python 中进行测试。 我有这个步骤来计算员工 table 行

@step('I count employee table rows')
def i_count_emp_table_rows(step):
    try:
        elems = world.driver.find_elements_by_xpath(".//*[@id='myTable']/tr")
        sum = 0
        for item in elems:
            sum= sum+1
        return sum
    except Exception, e:
        print e
        return None

我还有一个步骤,在这一步中,我想在单击“添加员工”按钮后转到下一页之前保存员工 table 中的员工人数(使用上述步骤)。

@step('I click the Add Employee Button')
def i_click_the_add_employee_button(step):
    world.prev_no_of_emp = step.given('I count employee table rows')
    print "Right Now total rows in table: " + str(world.pre_no_of_emp)
    done, world.driver = click_page_element(admin_add_employee_button_xpath, world.driver, wait=10) 

但有趣的是,我总是得到 "True" 而不是列表计数。我什至使用了 len() 但没有成功
这是打印语句的结果。
目前 table 中的总行数:正确

您需要将计数放入某个全局变量中。请参阅下面更新的步骤。

@step('I count employee table rows')
def i_count_emp_table_rows(step):
    try:
        elems = world.driver.find_elements_by_xpath(".//*[@id='myTable']/tr")
        world.count = len(elems)
    except Exception, e:
        print e.message
        world.count = None

@step('I click the Add Employee Button')
def i_click_the_add_employee_button(step):
    step.given('I count employee table rows')
    print "Right Now total rows in table: " + str(world.count)
    done, world.driver = click_page_element(admin_add_employee_button_xpath, world.driver, wait=10)