zoukankan      html  css  js  c++  java
  • web自动化测试等待的方法

    ## 等待的第一种方法
    - 强制等待, time.sleep(3)
    - 隐性等待, 智能等待元素被加载, 全局只需要设置一次, 只能等待元素被加载
    - 显性等待,非全局
    - 真的很麻烦,不容易理解。
    - 你可以自己设置某种条件,如果条件满足了,就返回;如果条件不满足,就继续执行
    - 等待某个元素可以被点击
    - 或者某个元素可见
    - 等待某个url=''


    隐式等待的写法:

     显性等待的写法:

    import time
    from selenium import webdriver
    from selenium.webdriver import ChromeOptions
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as when
    
    
    class TestDemo:
        def test_01(self):
            service = Service(executable_path='chromedriver_95.exe')
            with webdriver.Chrome(service=service) as browser:
    
                browser.get("http://www.baidu.com")
                input_el = browser.find_element(By.XPATH, '//input[@id="kw"]')
                input_el.send_keys('柠檬班')
    
                search_btn = browser.find_element(By.ID, 'su')
                search_btn.click()
    
                # 显性等待
                # 1,等待器,设置倒计时
                # 2,等待条件,出现
                # 3,在超时前,如果等待条件出现了; 如果等待条件没出现,会报超时的错误
                wait = WebDriverWait(browser, timeout=5)
                condition = when.element_to_be_clickable((By.LINK_TEXT, 'lemon.ke.qom/'))
                lemon_link = wait.until(condition)
    
                # lemon_link = browser.find_element(By.LINK_TEXT, 'lemon.ke.qq.com')
    
                #
                #WebDriverWait(browser, timeout=10).until(when.element_to_be_clickable((By.LINK_TEXT, 'lemon.ke.qq.com/')))
    
    
                # lemon_link = browser.find_element(By.LINK_TEXT, 'lemon.ke.qq.com/')
                lemon_link.click()
  • 相关阅读:
    ios常用方法
    XMPP
    ios ebooks
    uinavigationcontroller swipe back
    navigationController and ToolBar
    EMC VNX5200/5400存储 新增LUN与Hosts映射操作
    H3C交换机telnet服务认证模式配置
    配置H3C交换机ftp服务
    克隆CentOS 6.9 配置静态IP,重启网络服务时报错"eth0 does not seem to be present"
    BFS解决八数码问题和狼人过河问题
  • 原文地址:https://www.cnblogs.com/wsfsd/p/15602970.html
Copyright © 2011-2022 走看看