day01 - web自动化测试中基础知识和CSS、XPATH选择器

一、自动化测试
软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。测试自动化意味着使用测试工具

二、优点

  • 缩短测试周期
  • 避免人为出错
  • 测试信息存储
  • 轻易获取覆盖率
  • 其他

三、分类

  • 自动化功能测试
    单元测试
    功能测试(Web功能测试,移动端功能测试)
    接口测试(工具:jmeter)
  • 自动化性能测试(工具:Loaderunner,jmeter)

四、使用条件

  • 手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
  • 项目周期长,重复性的工作都交给机器去实现
  • 需求稳定,项目变动不大
  • 自动化测试脚本复杂度比较低
  • 可重复利用

五、应用场景

  • 频繁的回归测试(开发者修改返回后的再次测试)
  • 冒烟测试(所有功能测试一遍)
  • 互联网迭代频繁
  • 传统行业需求变化不大,应用频繁(政府企业)

六、Web自动化测试工具

  • QTP(收费)
  • Selenium(开源)
  • RFT(收费,功能和回归测试工具)
  • Watir(开源)
  • Sahi(开源)

七、QTP VS Selenium
在这里插入图片描述
八、CSS选择器

  • 概念
    CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器。

  • 语法

  • 1)通过伪类名、id、标签名定位

在这里插入图片描述

eg:
① .topbe-wrapper # 定位class(类选择器)属性值为topbe-wrapper的节点
② #topbeWrapper # 定位id(id选择器)的属性值为topbeWrapper 的节点
③ * #通配符,会选择所有标签(Xpath://*)
④ div # 选择所有的div标签(对比于Xpath选择器,无绝对路径)

  • 2)通过元素之前嵌套关系

在这里插入图片描述

eg:
①meta,link # 选择所有的meta和link标签(Xpath://mea|//link)
②div a # 定位div所有子孙标签中的a标签(后代选择器)
③div>a #定位所有div标签的子标签是a标签的节点(父代选择器)(父子关系)
④div>div>a #多层嵌套关系(爷父孙关系)
⑤div+p #同属于一个父节点(后紧接着)(同胞节点)

  • 3)通过属性
    在这里插入图片描述在这里插入图片描述

Eg:
①[id] # 定位所有具有id属性值的标签(Xpath: //[@id])
②[target="_blank"] # 定位所有含有target属性,并且属性值为"_blank"的标签(Xpath: //
[@target="_blank"])
③[class=“mnav”] # 定位所有含有class属性,并且属性值含有mnav独立单词的标签(每个单词之间用空格隔开)
注意:属性值中不能含有连字号,或下划线
④[type|=“text”] #定位所有具有type属性,且type的属性值以text开头的标签
(Xpath://[starts-with(@type,’text’)])
⑤[style^=‘display:non’] # 定位所有style属性中以display:non开头的属性值标签
⑥[style$=’:none;’] #定位所有style属性中以:none;结尾的属性值标签
⑦[id
=‘user’] # 定位所有id属性中属性值有user的标签

注意
①默认所有属性值均带双引号
②[attribute|= value] 和 [attribute@= value]的区别
[attribute|=value]必须是选取整个单词或者中间有连字符的单词
[attribute^=value] 无此限制!

  • 4)通过父子关系

Eg:
① div:only-child # 定位div标签的父标签只有一个子标签div标签的父节标签
②div:nth-child(2) # 定位其父节点的第二个子节点是div节点的子节点
③div:nth-last-child(2) # 定位其父节点的倒数第二个节点是div的节点
④*:only-child # 定位所有父节点只有一个子节点的子节点

注意
以上通过父子关系定位的节点均定位的是子节点

  • 5)元素状态(很少用到)

Eg:
①div:empty # 定位所有没有子节点的div标签
②not(link) # 定位所有不是link的节点

九、Xpath选择器

  • 概念

XPath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在 HTML\XML 文档中查找信息的语言。

  • 语法
  • 1)常用
    在这里插入图片描述

Eg:
①//meta //meta[@name] //meta[@name=’msapplicationTileColor’]
②/html/meta/body
②/html/meta/body/…
③/html/body/[@style]

  • 2)索引
    在这里插入图片描述

Eg:
①.//[@id=‘endtext’][1] # 符合条件的第一个元素(从1开始)
②.//
[@id=‘endtext’][last()] # 符合条件的最后一个元素
③.//[@id=‘endtext’][last()-1] # 符合条件的倒数第二个元素
④.//
[@id=‘endtext’][position()] # 符合条件的所有元素(等同于.//[@id=‘endtext’])
⑤.//
[@id=‘endtext’][position()=3] # 符合条件的第三元素(等同于.//[@id=‘endtext’][3])
⑥.//
[@id=‘endtext’][position()>3] # 符合条件的除前三个以外的所有元素
⑦//span[i=459] #利用span子节点i的值来查找
//span[i>459]

  • 3)通配符
    在这里插入图片描述

Eg:
① //* # 匹配所有的标签
②/* # 匹配绝对路径最外层(根节点的第一个子节点html)
③//[@] #匹配所有具有属性的节点
④//div[@] #匹配所有div标签中具有属性的节点
⑤/html/node()/meta # 匹配html标签中所有子孙标签中的meta标签(node()相当于

⑥/html/*/meta # 匹配html标签中任意节点(标签)下的meta标签(等同于上一个写法)

  • 4)或

在这里插入图片描述

Eg : //meta|//script|//link #同时定位多个元素

  • 5)其他
    在这里插入图片描述

Eg:
① //[text()=’靖国英雄花木兰’]
② //
[starts-with(@href,‘http’)] # 定位属性href的属性值以http开头(也可写整个属性值)
③//[contains(@href,’//gss0.bdstatic.com’)] #定位属性href的属性值中含有//gss0.bdstatic.com的元素
④//
[(@href=“https://gss1.bdstatic.com” and @ rel=“dns-prefetch” )] # 同时符合两个条件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像的目标属于哪个类别。 定位问题:确定目标在图像的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值