zoukankan      html  css  js  c++  java
  • 转来的——python webdriver自动化测试初步印象——转来的

    python webdriver自动化测试初步印象
    以下示例演示启动firefox,浏览google.com,搜索Cheese,等待搜索结果,然后打印出搜索结果页的标题


    from selenium import webdriver
    from selenium.common.exceptions import TimeoutException
    from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
    from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0

    # Create a new instance of the Firefox driver
    driver = webdriver.Firefox()

    # go to the google home page
    driver.get("http://www.google.com")

    # find the element that's name attribute is q (the google search box)
    inputElement = driver.find_element_by_name("q")

    # type in the search
    inputElement.send_keys("Cheese!")

    # submit the form (although google automatically searches now without submitting)
    inputElement.submit()

    # the page is ajaxy so the title is originally this:
    print driver.title

    try:
    # we have to wait for the page to refresh, the last thing that seems to be updated is the title
    WebDriverWait(driver, 10).until(EC.title_contains("cheese!"))

    # You should see "cheese! - Google Search"
    print driver.title

    finally:
    driver.quit()





    python webdriver自动化测试通过控件xpath定位元素
    有一段html代码如下:

    现在通过xpath来查找到相应的input元素,代码demo如下:
    from selenium.webdriver.common.by import By

    #查找所有input元素方法一
    inputs = driver.find_elements_by_xpath("//input")

    #查找所有input元素方法二
    inputs = driver.find_elements(By.XPATH, "//input")

    #查找指定的input元素,比如查找name为other的input
    inputs = driver.find_element_by_xpath("//input[@name='other']")



    python webdriver自动化测试在window和frame之间切换

    from selenium import webdriver

    # 启动firefox初始化webdriver
    driver = webdriver.Firefox()

    1、切换到指定窗口名的窗口,
    例如有一段html代码如下


    driver.switch_to_window("windowName")

    2、当然也可以通过句柄来切换,示例如下
    for handle in driver.window_handles:
    driver.switch_to_window(handle)

    上述代码会遍历,一个个的切换。

    3、通过frame名称切换到指定的frame
    driver.switch_to_frame("frameName")

    4、也可以通过frame的索引来切换
    driver.switch_to_frame(0) #切换到第一个frame

    python使用selenium rc和webdriver启动不同浏览器的方法
    Selenium 1 -启动 Internet Explorer

    from selenium import selenium

    selenium = selenium("localhost", 4444, "*iexplore", "http://google.com/")
    selenium.start()

    Selenium 1 - 启动Firefox

    from selenium import selenium

    selenium = selenium("localhost", 4444, "*firefox", "http://google.com/")
    selenium.start()

    webdriver - 启动Firefox


    from selenium import webdriver

    driver = webdriver.Firefox()

    webdriver - 启动Chrome


    from selenium import webdriver

    driver = webdriver.Chrome()

    webdriver - 启动Remote


    from selenium import webdriver

    driver = webdriver.Remote( browser_name="firefox", platform="any")

    webdriver - 启动IE


    from selenium import webdriver

    driver = webdriver.Ie()

    备注: 除了启动IE外,webdriver启动其他浏览器均需安装相应浏览器的驱动组件,关于这块的环境搭建请参见




    python webdriver自动化测试通过控件css定位元素
    有一段html代码如下:
    milk cheese




    现在通过css来查找到相应的span元素,代码demo如下:
    from selenium.webdriver.common.by import By

    #查找css为span元素方法一
    cheese = driver.find_element_by_css_selector("#food span.dairy.aged")

    #查找css为span元素方法二
    cheese = driver.find_element(By.CSS_SELECTOR, "#food span.dairy.aged")




    python webdriver自动化测试通过控件 Partial Link Text定位元素
    有一段html代码如下:

    现在通过Partial Link Text来查找到相应的a元素,代码demo如下:
    from selenium.webdriver.common.by import By

    #查找Partial Link Text为a元素方法一
    cheese = driver.find_element_by_partial_link_text("cheese")

    #查找Partial Link Text为a元素方法二
    cheese = driver.find_element(By.PARTIAL_LINK_TEXT, "cheese")



    python webdriver自动化测试通过控件link text定位元素
    有一段html代码如下:

    现在通过link text来查找到相应的a元素,代码demo如下:
    from selenium.webdriver.common.by import By

    #查找link text为cheese元素方法一
    cheese = driver.find_element_by_link_text("cheese")

    #查找link text为cheese元素方法二
    cheese = driver.find_element(By.LINK_TEXT, "cheese")


    python webdriver自动化测试通过控件tag name定位元素
    有一段html代码如下:


    现在通过tag name来查找到相应的iframe元素,代码demo如下:
    from selenium.webdriver.common.by import By

    #查找tag name为iframe元素方法一
    frame = driver.find_element_by_tag_name("iframe")

    #查找tag name为iframe元素方法二
    frame = driver.find_element(By.TAG_NAME, "iframe")

    python webdriver自动化测试通过控件class name定位元素
    有一段html代码如下:
    Cheddar
    Gouda


    现在通过class name来查找到相应的div元素,代码demo如下:

    from selenium.webdriver.common.by import By


    #查找第一个class为cheese的div元素
    cheeses = driver.find_elements_by_class_name("cheese")

    # 查找所有class为cheese的div元素
    cheeses = driver.find_elements(By.CLASS_NAME, "cheese")




    python webdriver自动化测试通过控件name定位元素
    #导入webdriver
    from selenium import webdriver

    # 启动firefox初始化webdriver
    # ie: driver = webdriver.Ie()
    # chrome: driver = webdriver.Chrome()
    driver = webdriver.Firefox()

    # 访问baidu官网
    driver.get("http://www.baidu.com")

    # 定位输入框
    element= driver.find_element_by_name("wd")

    # 打印出来看一下
    # 会看到一个内存地址,说明已经找到
    print element

    # 关闭浏览器、退出webdriver
    driver.quit()



    python webdriver自动化测试通过控件id定位元素
    #导入webdriver
    from selenium import webdriver

    # 启动firefox初始化webdriver
    # ie: driver = webdriver.Ie()
    # chrome: driver = webdriver.Chrome()
    driver = webdriver.Firefox()

    # 访问baidu官网
    driver.get("http://www.baidu.com")

    # 定位输入框
    element = driver.find_element_by_id("kw")

    # 打印出来看一下
    # 会看到一个内存地址,说明已经找到
    print element

    # 关闭浏览器、退出webdriver
    driver.quit()





    python webdriver自动化测试访问某个网址
    python webdriver自动化测试访问指定网址示例

    #导入webdriver
    from selenium import webdriver

    # 启动firefox初始化webdriver
    # ie: driver = webdriver.Ie()
    # chrome: driver = webdriver.Chrome()
    driver = webdriver.Firefox()

    # 访问google官网
    # 记得网址前最好带http
    driver.get("http://www.google.com")
  • 相关阅读:
    架构漫谈(七):不要空设架构师这个职位,给他实权
    架构漫谈(六):软件架构到底是要解决什么问题?
    架构漫谈(五):什么是软件
    架构漫谈(四):如何做好架构之架构切分
    架构漫谈(三):如何做好架构之识别问题
    [BZOJ 4361] isn(容斥/DP)
    [BZOJ 4767] 两双手(容斥/DP)
    [HNOI2011]卡农(容斥/DP)
    [洛谷] OSU!(期望DP)
    [洛谷] 纯粹容器(结论/期望)
  • 原文地址:https://www.cnblogs.com/vivivi/p/5144431.html
Copyright © 2011-2022 走看看