2017-08-05 71 views
1

这里是我的代码: 在功能add_new_employee我越来越employee_id,然后我想用在我的下一个函数employee_idnew_employee_added 有人可以帮我吗?谢谢Python中使用的功能输出的另一个功能

employee_id=() 
def add_new_employee(driver, first_name, last_name): 
    driver.find_element_by_css_selector("#menu_pim_viewPimModule").click() 
    driver.find_element_by_css_selector("[name='btnAdd']").click() 
    driver.find_element_by_css_selector("#firstName").send_keys(first_name) 
    driver.find_element_by_css_selector("#lastName").send_keys(last_name) 
    driver.find_element_by_css_selector("#photofile").\ 
     send_keys(os.path.abspath("cloud-computing-IT.jpg")) 
    global employee_id 
    employee_id = 
    driver.find_element_by_css_selector("#employeeId").get_attribute("value") 
    return employee_id 

def new_employee_added(driver): 
    global employee_id 
    driver.find_element_by_css_selector("#menu_pim_viewPimModule").click() 
    for i in range(1, 50): 
     try: 
      driver.find_element_by_link_text("%s" % employee_id).click() 
      break 
     except NoSuchElementException: 
      driver.find_element_by_link_text("%s" % i).click() 

def test_new_employee(driver, first_name="Patrick", last_name="Patterson"): 
    login(driver, username="Admin", password="Password") 
    # add new user with First Name, Last Name and Photo 
    add_new_employee(driver,first_name, last_name) 
    #verify that new employee added 
    new_employee_added(driver) 
    #ckeck if we got the right employee page 
    logout(driver) 

在功能add_new_employee我越来越employee_id,然后我想使用employee_id在我的下一个功能new_employee_added 有人能帮助我吗?谢谢

+0

def new_employee_added(driver,employee_id):? –

回答

0

只需保存add_new_employee的输出在局部变量,然后把它作为参数传递给你的new_employee_added功能。

+0

我该如何在另一个函数中使用局部变量?我试过全球,它的工作 –

+1

@Ihor Harmatii,是的,你是对的,但我的意思是在你的test_new_employee函数中使用它,并保存为本函数的变量。全局变量也很好,但尽量避免使用它们,因为它可能会带来一团糟。你可以添加额外的参数到你的new_employee_added函数,如new_employee_added(driver,employee_id)。 –

1

的参数添加到函数定义,然后通过它,当你调用它:

def new_employee_added(driver, employee_id): 
    ... 

def test_new_employee(driver, first_name="Patrick", last_name="Patterson"): 
    login(driver, username="Admin", password="Password") 
    # add new user with First Name, Last Name and Photo 
    employee_id = add_new_employee(driver,first_name, last_name) 
    #verify that new employee added 
    new_employee_added(driver, employee_id) 
    #ckeck if we got the right employee page 
    logout(driver) 
+0

当我这样做功能'add_new_employee'运行两次,我只需要它的输出 –

+0

@IhorHarmatii不,它不。看到我的编辑,希望更清楚。 –

+0

它被毁了2次,我想知道为什么,所以我试过使用全局变量的那个,看看我的代码,我编辑它 –