2017-08-05 4 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_idnew_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(driver、employee_id)のようなnew_employee_added関数に余分なパラメータを追加することができます。 –

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'関数は2回実行されます。出力する必要があります。 –

+0

@IhorHarmatiiそうではありません。私の編集を見て、うまくいけば分かります。 –

+0

それは2回実行されました。理由は不思議です。グローバル変数を使用しようとしました。私のコードを見てください。 –

関連する問題