zoukankan      html  css  js  c++  java
  • Web自动化测试之四、隐式等待与显式等待

    1.等待的三种方式

     time.sleep(5)

    2.隐式等待

    self.driver.implicitly_wait(5)默认轮询查找(0.5秒)元素是否出现,确定作用于全局

     3.显示等待

     

    import selenium
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions
    from selenium.webdriver.support.wait import WebDriverWait
    
    
    class TestWeixin():
        url = "https://work.weixin.qq.com/wework_admin/loginpage_wx?from=myhome_baidu"
    
        def setup(self):
            self.driver = webdriver.Chrome()
            self.driver.get(url=self.url)
    
        def teardown(self):
            self.driver.quit()
    
        def test_firt(self):
            self.driver.get(url=self.url)
            time.sleep(10)
    
        # 第一种等待方式--->死等
        def test_wait1(self):
            self.driver.get(url=self.url)
            time.sleep(10)
    
        # 第二种等待方式--->隐式等待
        def test_wait2(self):
            self.driver.implicitly_wait(5)
    
        # 第三种等待方式--->显示等待
        def test_wait3(self):
            #     # 自定义一个检查条件
            #     def func(x):
            #         return len(self.driver.find_elements(By.XPATH, '//*[@id="wework_admin.loginpage_wx_$"]/main/div[2]/a')) >= 1
            #
            #     WebDriverWait(self.driver, 10).until(func, "显示等待")
            #     self.driver.find_element(By.XPATH, '//*[@id="wework_admin.loginpage_wx_$"]/main/div[2]/a').click()
    
            # 或者采用until(expected_conditions)
            WebDriverWait(self.driver, 10).until(
                expected_conditions.element_to_be_clickable(
                    (By.XPATH, '//*[@id="wework_admin.loginpage_wx_$"]/main/div[2]/a')))
            self.driver.find_element(By.XPATH, '//*[@id="wework_admin.loginpage_wx_$"]/main/div[2]/a').click()
    三种等待方式示例
  • 相关阅读:
    SQL Server 日期和时间函数
    sql日期格式化函数
    C#中事件的使用
    CSS中的display:inline-block
    用aspnet_regiis注册Framework4.0框架
    什么是CSS hack
    第一次MySQL的SQL注入实验
    (二分)Block Towers(cf626)
    (多线程dp)Matrix (hdu 2686)
    (数位dp)Bomb (hdu 3555)
  • 原文地址:https://www.cnblogs.com/zwldyt/p/13170043.html
Copyright © 2011-2022 走看看