web页面自动化总结。selenium
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的更多相关文章
- web常用自动化库——selenium总结
概述 selenium是一个模拟控制浏览器操作的自动化库,它可以做到元素定位,鼠标事件,浏览器事件,js脚本执行等操作 与request不同的是,request是单独请求一个http,而seleniu ...
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
- WEB自动化(Python+selenium)的API
在做Web自动化过程中,汇总了Python+selenium的API相关方法,给公司里的同事做了第二次培训,分享给大家 ...
- selenium(12)-web UI自动化项目实战(PO模式,代码封装)
web UI自动化项目实战-项目 项目使用禅道,所以你需要搭建1个禅道,搭建禅道的方法和步骤见 https://www.cnblogs.com/xinhua19/p/13151296.html 搭建U ...
- 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...
- selenium怎么操作web页面常见的元素
总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...
- web端自动化——selenium Page Object设计模式
Page Object设计模式的优点如下: ① 减少代码的重复. ② 提高测试用例的可读性. ③ 提高测试用例的可维护性,特别是针对UI频繁变化的项目. 当为Web页面编写测试时,需 ...
- 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...
- 记我的第二次自动化尝试——selenium+pageobject+pagefactory实现自动化下单、退款、撤销回归测试
需求: 系统需要做下单.退款.撤销的回归测试,有下单页面,所以就想到用selenium做WEB UI 自动化 项目目录结构: common包上放通用的工具类方法和浏览器操作方法 pageobject包 ...
随机推荐
- Zookeeper原理系列-Paxos协议的原理和Zookeeper中的应用分析
Paxo算法介绍 Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法. Paxos产生背景 Paxos算法是基于消息传递且具有高度容错特性的一致 ...
- 超简洁,玩转springboot 之springboot自定义start工程
springboot 的start 建一个父工程 不需要其他目录结构,需要注意的是把type的类型改为POM 这样就没有工程的目录结构 因为父工程不需要 给父工程的pom添加依赖 <depend ...
- 从零开始学算法---二叉平衡树(AVL树)
先来了解一些基本概念: 1)什么是二叉平衡树? 之前我们了解过二叉查找树,我们说通常来讲, 对于一棵有n个节点的二叉查找树,查询一个节点的时间复杂度为log以2为底的N的对数. 通常来讲是这样的, 但 ...
- Spring自动装配歧义性笔记
Spring自动装配歧义性笔记 如果系统中存在两个都实现了同一接口的类,Spring在进行@Autowired自动装配的时候,会选择哪一个?如下: // 一下两个类均被标记为bean @Compone ...
- 二、Ansible基础之模块篇
目录 1. Ansible Ad-Hoc 命令 1.1 命令格式 1.2 模块类型 1.3 联机帮助 1.3.1 常用帮助参数 1.4 常用模块 1.4.1 command & shell 模 ...
- 【c++ Prime 学习笔记】目录索引
第1章 开始 第Ⅰ部分 C++基础 第2章 变量和基本类型 第3章 字符串.向量和数组 第4章 表达式 第5章 语句 第6章 函数 第7章 类 第 Ⅱ 部分 C++标准库 第8章 IO库 第9章 顺序 ...
- Spring Authorization Server的使用
Spring Authorization Server的使用 一.背景 二.前置知识 三.需求 四.核心代码编写 1.引入授权服务器依赖 2.创建授权服务器用户 3.创建授权服务器和客户端 五.测试 ...
- kafka错误之 Topic xxx not present in metadata after 60000 ms
Topic xxx not present in metadata after 60000 ms 一.背景 二.场景还原 1.jar包引入 2.jar代码 3.运行结果 三.问题解决 四.参考文档 一 ...
- [火星补锅] siano 神奇的线段树
前言: 本来以为很难打的,没想到主干一次就打对了,然而把输入的b和d弄混了,这sb错误调了两个小时... 解析: 神奇的线段树.注意到有一个性质,无论怎么割草,生长速度快的一定不会比生长速度慢的矮.因 ...
- 设计模式(1-2)-动态代理(newProxyInstance)
上节设计模式(1-1)-代理模式,讲了代理模式的静态代理与动态代理的写法.本节,会从Proxy.newProxyInstance() 这个方法开始讲,上一节文末的那个class文件怎么一步步的来的. ...