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)
我正在使用 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)