如何在整个python脚本中减少睡眠方法

时间:2018-12-05 11:00:31

标签: python selenium

脚本如下所示

def ApplicationLogin(request):
    login = excel.get_cell_value(constants.file_path, 'Login', 0, 'Username')
    password = excel.get_cell_value(constants.file_path, 'Login', 0, 'Password')


    login = get_login_page(request.node.driver)

    login.enter_NTlogin(login)
    login.enter_password(password)

    sleep(3)

    obj = get_dashboard_page(request.node.driver)

    obj.click_on_dropdown()
    sleep(3)   

    obj.click_on_method1()
    sleep(3)

    obj.click_on_method2()
    sleep(3)

    obj.select_method3()
    sleep(3)

    obj.select_method4()
    sleep(3)

    obj.click_on_method5()
    sleep(3)   

    obj.click_on_method6()
    sleep(3)

    obj.select_method7()
    sleep(3)

    obj.select_method8()
    sleep(3)

    obj.click_on_method9()
    sleep(3)   


    obj.click_on_method10()
    sleep(3)

    obj.click_on_Logout()
    sleep(3)

    request.node.driver.close()

请让我知道如何减少整个脚本中的睡眠方法,而不是多次使用

2 个答案:

答案 0 :(得分:0)

在每次调用函数后,您需要休眠一段时间。

id

这次并不一致。如果您可以容纳固定的等待时间,则可以改进代码。然后,您可以尝试@@ Guy的建议。

答案 1 :(得分:0)

def run_and_sleep(function, sleep_time=2):
    function()
    sleep(sleep_time)

def ApplicationLogin(request):
    login = excel.get_cell_value(constants.file_path, 'Login', 0, 'Username')
    password = excel.get_cell_value(constants.file_path, 'Login', 0, 'Password')

    run_and_sleep(obj.click_on_dropdown)
    run_and_sleep(obj.click_on_method1, sleep_time=3)
    run_and_sleep(obj.click_on_method2)
    run_and_sleep(obj.select_method3)
    run_and_sleep(obj.select_method4)
    run_and_sleep(obj.click_on_method5, sleep_time=5)
    run_and_sleep(obj.click_on_method6)
    ...