zoukankan      html  css  js  c++  java
  • appium三种等待方式

    分别是显式等待,隐式等待,强制等待

    可能会用到的库有:

    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By

    三种运行方式的写法如下:

     1 """装饰器用来计算函数运行时长"""
     2 def decorator_counttime(function):
     3     def wrapper(*args, **kargs):
     4         starttime = time.time()
     5         function(*args, **kargs)
     6         endtime = time.time()
     7         totaltime = endtime - starttime
     8         print(
     9             "----------------- the function running use time : %s------------------"
    10             % totaltime)
    11 
    12     return wrapper
    13 
    14 
    15 @decorator_counttime
    16 def get_info_from_notification_Forced_wait():
    17     driver = webdriver.Remote('http://0.0.0.0:4723/wd/hub', desires_caps1)
    18     time.sleep(10)
    19     get_wifi_icon = driver.find_element_by_id(
    20         "com.cidana.mirror.asukalink:id/connectButton")
    21     print(get_wifi_icon.text)
    22     time.sleep(10)
    23     get_version = driver.find_element_by_id(
    24         "com.cidana.mirror.asukalink:id/textVer")
    25     print(get_version.text)
    26     driver.close_app()
    27 
    28 
    29 @decorator_counttime
    30 def get_info_from_notification_Explicit_wait():
    31     driver = webdriver.Remote('http://0.0.0.0:4723/wd/hub', desires_caps1)
    32     get_wifi_icon = WebDriverWait(driver, 10, 0.5).until(
    33         EC.presence_of_element_located(
    34             (By.ID, "com.cidana.mirror.asukalink:id/connectButton")))
    35     print(get_wifi_icon.text)
    36     get_version = WebDriverWait(driver, 10, 0.5).until(
    37         EC.presence_of_element_located(
    38             (By.ID, "com.cidana.mirror.asukalink:id/textVer")))
    39     print(get_version.text)
    40     driver.close_app()
    41 
    42 
    43 @decorator_counttime
    44 def get_info_from_notification_Implicit_wait():
    45     driver = webdriver.Remote('http://0.0.0.0:4723/wd/hub', desires_caps1)
    46     driver.implicitly_wait(10)
    47     get_wifi_icon = driver.find_element_by_id(
    48         "com.cidana.mirror.asukalink:id/connectButton")
    49     print(get_wifi_icon.text)
    50     get_version = driver.find_element_by_id(
    51         "com.cidana.mirror.asukalink:id/textVer")
    52     print(get_version.text)
    53     driver.close_app()
    54 
    55 
    56 get_info_from_notification_Forced_wait()
    57 time.sleep(3)
    58 get_info_from_notification_Explicit_wait()
    59 time.sleep(3)
    60 get_info_from_notification_Implicit_wait()

    运行结果分别为

    显式等待:7.64s

    隐式等待:7.84s

    强制等待:29.79s

  • 相关阅读:
    作业day17
    python开发学习day17 (生成器;面向过程;三元表达式;生成式,内置函数)
    作业day16
    python开发学习day16 (三层装饰器;迭代器)
    python开发学习day15 (叠加装饰器;递归调用;匿名函数)
    作业day14
    python开发学习day14 (装饰器;语法糖;装饰器模板)
    python开发学习day13 (函数嵌套;名称空间与作用域;闭包函数)
    作业day12
    Python-简单算法程序
  • 原文地址:https://www.cnblogs.com/RuiRuia/p/14134347.html
Copyright © 2011-2022 走看看