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

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

web页面自动化知识点

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

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

3、webdriver元素定位8种方式:id\name\class name\tag name\link text\partial link text\xpath\css 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:切换到一个frame中switch_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()

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

driver.switch_to.frame(frame_reference)

切换到指定的window_name页签

driver.switch_to.window(window_name)

13、select类: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")

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

16、3种等待: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

web页面自动化总结。selenium的更多相关文章

  1. web常用自动化库——selenium总结

    概述 selenium是一个模拟控制浏览器操作的自动化库,它可以做到元素定位,鼠标事件,浏览器事件,js脚本执行等操作 与request不同的是,request是单独请求一个http,而seleniu ...

  2. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  3. WEB自动化(Python+selenium)的API

    在做Web自动化过程中,汇总了Python+selenium的API相关方法,给公司里的同事做了第二次培训,分享给大家                                         ...

  4. selenium(12)-web UI自动化项目实战(PO模式,代码封装)

    web UI自动化项目实战-项目 项目使用禅道,所以你需要搭建1个禅道,搭建禅道的方法和步骤见 https://www.cnblogs.com/xinhua19/p/13151296.html 搭建U ...

  5. 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)

    1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...

  6. selenium怎么操作web页面常见的元素

    总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...

  7. web端自动化——selenium Page Object设计模式

    Page Object设计模式的优点如下: ①    减少代码的重复. ②    提高测试用例的可读性. ③    提高测试用例的可维护性,特别是针对UI频繁变化的项目. 当为Web页面编写测试时,需 ...

  8. 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)

    1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...

  9. 记我的第二次自动化尝试——selenium+pageobject+pagefactory实现自动化下单、退款、撤销回归测试

    需求: 系统需要做下单.退款.撤销的回归测试,有下单页面,所以就想到用selenium做WEB UI 自动化 项目目录结构: common包上放通用的工具类方法和浏览器操作方法 pageobject包 ...

随机推荐

  1. Zookeeper原理系列-Paxos协议的原理和Zookeeper中的应用分析

    Paxo算法介绍 Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法. Paxos产生背景 Paxos算法是基于消息传递且具有高度容错特性的一致 ...

  2. 超简洁,玩转springboot 之springboot自定义start工程

    springboot 的start 建一个父工程 不需要其他目录结构,需要注意的是把type的类型改为POM 这样就没有工程的目录结构 因为父工程不需要 给父工程的pom添加依赖 <depend ...

  3. 从零开始学算法---二叉平衡树(AVL树)

    先来了解一些基本概念: 1)什么是二叉平衡树? 之前我们了解过二叉查找树,我们说通常来讲, 对于一棵有n个节点的二叉查找树,查询一个节点的时间复杂度为log以2为底的N的对数. 通常来讲是这样的, 但 ...

  4. Spring自动装配歧义性笔记

    Spring自动装配歧义性笔记 如果系统中存在两个都实现了同一接口的类,Spring在进行@Autowired自动装配的时候,会选择哪一个?如下: // 一下两个类均被标记为bean @Compone ...

  5. 二、Ansible基础之模块篇

    目录 1. Ansible Ad-Hoc 命令 1.1 命令格式 1.2 模块类型 1.3 联机帮助 1.3.1 常用帮助参数 1.4 常用模块 1.4.1 command & shell 模 ...

  6. 【c++ Prime 学习笔记】目录索引

    第1章 开始 第Ⅰ部分 C++基础 第2章 变量和基本类型 第3章 字符串.向量和数组 第4章 表达式 第5章 语句 第6章 函数 第7章 类 第 Ⅱ 部分 C++标准库 第8章 IO库 第9章 顺序 ...

  7. Spring Authorization Server的使用

    Spring Authorization Server的使用 一.背景 二.前置知识 三.需求 四.核心代码编写 1.引入授权服务器依赖 2.创建授权服务器用户 3.创建授权服务器和客户端 五.测试 ...

  8. kafka错误之 Topic xxx not present in metadata after 60000 ms

    Topic xxx not present in metadata after 60000 ms 一.背景 二.场景还原 1.jar包引入 2.jar代码 3.运行结果 三.问题解决 四.参考文档 一 ...

  9. [火星补锅] siano 神奇的线段树

    前言: 本来以为很难打的,没想到主干一次就打对了,然而把输入的b和d弄混了,这sb错误调了两个小时... 解析: 神奇的线段树.注意到有一个性质,无论怎么割草,生长速度快的一定不会比生长速度慢的矮.因 ...

  10. 设计模式(1-2)-动态代理(newProxyInstance)

    上节设计模式(1-1)-代理模式,讲了代理模式的静态代理与动态代理的写法.本节,会从Proxy.newProxyInstance() 这个方法开始讲,上一节文末的那个class文件怎么一步步的来的. ...