当前位置: 首页 > article >正文

selenium(三)

总结

一、web基础

html、dom对象、javascript基本语法

二、元素定位:

find_element(定位方式)
八大定位方式:
	id、name、class、tag_name、class_name、link_text、partial_link_text、xpath、css

xpath:
	//标签名[@属性名=值 and/or @属性名=值]
	//标签名[text()=文本值]
	//标签名[contains(text()/@属性值,部分值)]

  1、层级定位:先定位到上级上上级,缩小范围。再定位元素
  2、轴定位:找各种关系来定位
  		ancestor
  		paret
  		preceding-sibling:
  		following-sibling

原则:尽量不要使用绝对定位和下标;匹配一个元素;选择元素稳定的属性(可变的属性不要作为元素定位的手段)

三、元素操作

基本操作:send_keys、click、text、get_attribute
三种等待方式:
sleep、implicity_wait、WebdriverWait和excepted_condition
显示等待:WebdriverWait(driver,timeout时长,轮询时长默认0.5s).until/until_not
		 excepted_condition:元素可见visibility_of_element_located((元素定位类型,元素定位方式))


三种切换:iframe、window、alert----------都有一个显性等待
driver.switch_to_frame/window/alert

iframe必须确保有iframe:name、下标、WelElement对象

windows:要获取当前所有的window_handle(drvier.window_handle)列表,最后一个是最新打开的窗口

alert:Alert. accetp/dissmis 接收和拒绝


鼠标/键盘操作:
ActionChains类:鼠标行为函数 (move_to_element、悬浮元素的定位) perform()-执行鼠标操作。
send_keys(Keys类)

下拉列表:
Select/option---Select类来处理,
实例化参数:Select元素。
列表选值的三种方式:index/value/visible_text

js滚动条:driver.excute_script(js语句,参数)
Argument[0].scrollView()

js-日期:日期输入框 readonly---移除readonly属性

文件上传:autoit/pywin32

四、selenium原理

五、项目实战+框架

1、业务了解,需求分析
2、测试用例的实现、筛选、用例评审
3、框架、大概用多长时间实现自动化测试、持续集成jenkins、优化和调试、提高用例通过率、哪些是冒烟用例、SIT/预生产、邮件通知
4、维护阶段(分析测试报告---哪些是bug、哪些是你代码的bug、哪些是环境问题)
5、汇报

PO模式:PageObjects(页面操作、元素定位)、TestCases  测试用例和测试对象分离。
分层:PageLocators、TestDatas
Common: 
	basePage:封装基本函数、异常处理、异常截图、日志
Output:Logs、Screenshots、Reports


Pytest框架:mark、参数化、fixture/conftest(强制和后置)、重运行(reruns)、html测试报告、allure测试报告、xml测试报告

http://www.kler.cn/a/463133.html

相关文章:

  • MySQL 08 章——聚合函数
  • IDEA试用总结
  • 在 pandas.Grouper() 中,freq 参数用于指定时间频率,它定义了如何对时间序列数据进行分组。freq 的值可以是多种时间单位
  • Java项目实战II基于微信小程序的家庭大厨(开发文档+数据库+源码)
  • 拟声 0.60.0 | 拟态风格音乐播放器,支持B站音乐免费播放
  • enzymejest TDD与BDD开发实战
  • Midjourney技术浅析(三):文本编码
  • .NET | 详解通过Win32函数实现本地提权
  • 计算机网络—————考研复试
  • WOFOST作物模型(2.1):模型参数介绍
  • Python基于Django的web漏洞挖掘扫描技术的实现与研究(附源码,文档说明)
  • 数据库在大数据领域的探索与实践:动态存储与查询优化
  • 二叉树的基本数据结构类型(c语言)
  • OpenCV 图像处理之形态学转换
  • 数据结构(Java)—— 栈(Stack)
  • OpenCV的TickMeter计时类
  • 【Rust自学】8.3. String类型 Pt.1:字符串的创建、更新与拼接
  • Sentinel 介绍与使用指南:构建高可用、可靠的微服务架构
  • 大数据面试笔试宝典之大数据运维面试
  • 【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(二)
  • 【Spring】Spring DI(依赖注入)详解—集合类型的注入——List、Set、Map的配置与注入
  • linux tar 文件解压压缩
  • 【人工智能】Python实现时序数据预测:ARIMA与LSTM的对比
  • Quartus DMA IP示例使用说明--MM接口
  • Spring实现输出带动态标签的日志
  • 【非关系型数据库Redis 】 入门