2016-06-23 7 views
0

Я работаю с селеном и салатом для тестирования на питоне. У меня есть этот шаг для подсчета сотрудника строк таблицыФункция Python (шаг салата) всегда возвращает True

@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 

И у меня есть еще один шаг, На этом этапе, я хочу, чтобы сохранить количество сотрудников в таблице сотрудников (с использованием предыдущей стадии), прежде чем я перейти на следующую страницу после нажмите кнопку «Добавить сотрудника».

@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) 

Но самое забавное, что я всегда получаю «Правда» вместо списка. Я даже использовал len(), но не успел
Вот результат печати.
прямо сейчас общее число строк в таблице: True

+0

'step.given' возвращает' True'. Вы не видите «step.given»? –

+1

@MosesKoledoye Да, я уже это сделал. Вышеупомянутая функция вызывается здесь. –

+0

@AdilMalik шаг вызова в этом случае возвращает True, если шаг успешно выполнен. Это означает, что оператор возврата бесполезен в этом случае. –

ответ

1

Вам нужно поставить счетчик в какой-нибудь глобальной переменной. См. Ниже обновленные шаги.

@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) 
Смежные вопросы