• web页面自动化总结。selenium


    web自动化测试终篇:总结我理解的ui自动化,整理归纳:

    https://blog.csdn.net/CCGGAAG/article/details/89669592

    web页面自动化知识点

    1、web页面,html页面。Dom页面

    2、获取元素属性,修改元素属性

    3、webdriver元素定位8种方式:id ameclass name ag namelink textpartial link textxpathcss selecter

    //div[@tpl="tieba_general"]

    //div[text()="_百度贴吧"]'

    //input[contains(text(),‘密码’)],

    //input[contains(@class,‘a’)],

    /div/following-sibling::div

    选取div标签之后的所有同级div标签

    /div/preceding-sibling::div

    选取div标签之前的所有同级div标签

    4、元素基础操作:clear(),send_keys(),click(),submit(),

    5、浏览器操作:get(),back(),forward(),refresh(),maximize_window(),close(),quit()

    6、页面元素属性的获取:get_attribute(),text(),size(),is_displayed(),is_enabled(),is_selected()

    7、浏览器页面信息的信息:current_url(),title()

    8、模拟鼠标操作:ActionChains(driver).move_to_element(element).perform(),

    context_click(ele),double_click(ele),move_by_offset(x,y),click_and_hold(ele=None),send_keys(Keys.CONTROL, "a")

    10、webdriver浏览器版本驱动对应以及下载(火狐-谷歌-IE浏览器)火狐47版本,ie2.5版本

    11、浏览器不同页面的切换:.current_window_handle(),window_handles(),

    switch_to.window(window_name)

    12、切换页面iframe:切换到一个frameswitch_to.frame(frame_reference),切换到主界面switch_to.default_content()driver.switch_to.parent_frame()

    13、关于alert弹窗的方法

    switch_to.alert(),dismiss(), accept(),text,send_keys(key):对弹窗对象内的输入框输入数据(如果弹窗的格式有输入框的话可以使用)

    driver.switch_to.active_element()   

    切换到alert弹窗

    driver.switch_to.alert()      

    切换到主页面

    driver.switch_to.default_content()       

    通过idnameelement(定位的某个元素)、索引来切换到某个frame

    driver.switch_to.frame(frame_reference)     

    切换到指定的window_name页签

    driver.switch_to.window(window_name)

     

    13select类:Select(select_ele).select_by_value(“2”)

    select_by_value(values):选择option标签中value属性为:values的选项

    select_by_index(index):选择索引为index_number的选项(索引从0开始)

    select_by_visible_text(text):选择option选项内容为:text的选项

     

    14、查找元素方式:首先有两个万能定位方法:

    find_element()寻找符合条件的第一个元素

    find_elements()寻找所有符合条件的元素

    find_elements_by_id(),find_elements_by_name(),find_elements_by_tag_name(),find_elements_by_class_name(),find_elements_by_link_text(),find_elements_by_partial_link_text()

    ,find_elements_by_css_selector(),find_elements_by_xpath()

    driver.find_element(By.NAME, "kw1")

     

    15js语句:driver.execute_script(script, *args)

    163种等待:sleep(5),implicitly_wait(30),webDriverwait

    WebDriverWait(self.driver,timeout,poll_frequency).until(EC.visibility_of_element_located(loc))

    WebDriverWait(driver,10).until(EC.new_window_is_opened(windows))

    WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it("login_frame_qq"))

    WebDriverWait(driver,20).until(EC.alert_is_present())

    from selenium import webdriver

    from selenium.webdriver.support.ui import WebDriverWait

    from selenium.webdriver.support import expected_conditions as EC

    from selenium.webdriver.common.action_chains import ActionChains

    from selenium.webdriver.common.keys import Keys

    from selenium.webdriver.support.ui import Select

    from selenium.webdriver.commonimport By

    from time import sleep

  • 相关阅读:
    利用Telnet来模拟Http请求 有GET和POST两种
    WebConfig特殊字符的转义!
    userprofile同步用户失败的原因和解决方案
    linux mysql表名大小写
    web.py 中文模版报错
    docker 开启远程
    web.py 笔记
    python 安装influxdb-python
    安装pip
    influxdb 命令
  • 原文地址:https://www.cnblogs.com/xyao1/p/10874219.html
Copyright © 2020-2023  润新知