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

(web自动化测试+python)1

一.UI自动化测试介绍

1.测试化理论

UI就是指的是用户接口,指的是用户与电脑的接口,是用户界面

UI不仅仅指的是web,还可以指代app

我们为什么要进行自动化?

大量版本的回归 当新的功能出现,复测之间的--我们叫做回归(新代码出现需要对旧代码进行复测,检查新代码是否对旧代码有所改动,但是这样的耗时比较大,因此就出现了UI自动化)大大提高了工作效率

使用UI自动化需要前置条件,

什么样的项目适合做自动化?

(1)项目需要回归测试...

自动化永远只能发现固定的bug

selenium:用来在页面中查找元素,操作元素

2.认识web自动化测试工具--selenium

 自动化测试属于功能测试,是对程序的功能进行测试

开源(代码在本地,可以随便修改,添加)

跨平台(写出的脚本既可以在Linux运行,也可以在Windows运行,也可以在Mac中运行)

支持多种浏览器(火狐,ie,谷歌等等)

支持多种语言(python java)

插件录制脚本,ide--录制功能,可以导出脚本,复杂的场景不好搞,不好维护

grid(分布式服务,最短的时间执行完所有用例)

webdriver(通过浏览器的驱动来去定位元素,操作页面)--核心

3.环境搭建

核心:调用驱动的方法

4.八种常用元素定位方法

1.id定位

通过元素的id属性来定位元素,前提是要有id属性

什么是元素定位:通过代码调用方法查找元素

id    name   class    tag_name   link_text   partical_link_text   xpath   css 

打开浏览器--实例化浏览器对象

此时,成功打开

from asyncio import sleepfrom selenium import webdriver
driver = webdriver.Chrome()
#打开谷歌浏览器
driver.get("https://blog.csdn.net/2301_79144798/article/details/142173933")
#关闭浏览器
sleep(3)
driver.quit()

步骤有四步

打开f12就可以发现有id

对于练习:

2.name和classname定位

3.tag_name定位

5.查找一组元素的方法

 加s--返回的是列表

要将每个值正确的填入:

6.xpath

 

元素定位(xpath和css)---没有id name class时

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • react18基础教程系列-- 框架基础理论知识mvc/jsx/createRoot
  • 关于 PC打开“我的电脑”后有一些快捷如腾讯视频、百度网盘、夸克网盘、迅雷等各种捷方式在磁盘驱动器上面统一删除 的解决方法
  • MVC设计模式与delegate,tablview,Appdelegate,SceneDelegate
  • 大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
  • Java 设计模式-状态模式
  • prometheus基于consul的服务发现
  • 了解MySQL 高可用架构:主从备份
  • 【H2O2|全栈】关于CSS(3)CSS基础(三)
  • 大屏自适应缩放解决方案
  • 跨平台集成:在 AI、微服务和 Azure 云之间实现无缝工作流
  • 如何在YoloV8中添加注意力机制(两种方式)
  • PyTest装饰器
  • 腾讯云、阿里云、华为云优惠券领取、查看、使用教程分享
  • C++ 中的 override 和 overload的区别
  • 旋转电连接器航空插头插座的特点
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • extract-text-webpack-plugin用法
  • JavaScript中的对象个人分享
  • Java新版本的开发已正式进入轨道,版本号18.3
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Joomla 2.x, 3.x useful code cheatsheet
  • PHP 7 修改了什么呢 -- 2
  • 开源地图数据可视化库——mapnik
  • 前端知识点整理(待续)
  • 手机端车牌号码键盘的vue组件
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #pragma once
  • $jQuery 重写Alert样式方法
  • (06)金属布线——为半导体注入生命的连接
  • (09)Hive——CTE 公共表达式
  • (编译到47%失败)to be deleted
  • (二开)Flink 修改源码拓展 SQL 语法
  • (七)Knockout 创建自定义绑定
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (转)平衡树
  • (转)视频码率,帧率和分辨率的联系与区别
  • (轉貼) UML中文FAQ (OO) (UML)
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .Net core 6.0 升8.0
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET6实现破解Modbus poll点表配置文件
  • .Net7 环境安装配置
  • .NET开源快速、强大、免费的电子表格组件
  • .NET中的Exception处理(C#)
  • /bin/rm: 参数列表过长"的解决办法
  • :class的用法及应用
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @FeignClient注解,fallback和fallbackFactory