Python自动化测试面试题 —— Selenium篇!

news2024/12/30 1:45:36

Selenium中有几种等待

  • 隐形等待/智能等待 dr.implicitly_wait()

  • 显性等待 WebDriverWait

  • 强制等待 time.sleep()

Selenium中有哪些定位方式

8种

  • tag

  • 三大基本属性 id/name/class_name

  • 链接 link text/partial link text

  • 高级 css selector/xpath

弹框怎么处理

4种弹框

  • div弹框、dom弹框,遮罩框 直接定位

  • alert框 dr.swich_to.alert().dismiss()

  • 弹出新窗口 不用处理/也可以切换到新窗口,然后关闭

  • BasicAuth授权框 dr.get(http://用户名:密码@www..)

框架页面怎么处理 切换框架

上传下载怎么测试

  • 上传 <input type="file" style=“display: none"> send_keys()

  • 下载 点击

  • flash/ 非标控件 桌面自动脚本生成exe

不确定时间的控件变化如何测试

webdriver wait

怎么对一个元素进行截图

elm.save_snapshot()

定位不到元素如何处理

  • sleep

  • 观察页面 页面有有没有跳转,元素有没有出现,有没有弹出alert

  • 元素是否在框架里

  • 元素是否在新页面里

如何应对页面元素变动问题

使用PageObject

Selenium的遇到flash怎么解决

使用pywinauto或其他GUI自动化工具生成exe,配合Selenium执行。

如何去定位页面上动态加载的元素?

  • 通过正常的业务流程触发元素加载,稍微等待后操作

  • 直接执行JavaScript脚本使元素加载,进行操作

如何去定位属性动态变化的元素

使用其他不变的属性定位。

Webdriver可以用来做接口测试吗

不能

Selenium是否支持C/S模式

Selenium是一套浏览器自动化测试框架,支持B/S模式的应用,C/S模式仅支持部分已浏览器为核心的应用,一般情况下不支持C/S模式。

如何处理验证码

  • 绕过

  • 临时关闭

  • 万能码

  • 从数据库或日志中取

  • 发接口登录绕过

  • 半自动手动输入

  • 图像识别

  • AI深度学习

  • 花钱打码

框架封装

UI框架如何分层

你的框架是如何设计的

  • 执行控制

  • 测试套件

  • 用例

  • 业务流 页面对象组合,常用的业务流程

  • PageObject 页面对象、页面基础类

  • 实用方法 数据读取 数据库操作 日志 发邮件 自己封装的定位方法

框架是怎么选择组合搭建的

  • 基础引擎 unittest、pytest、robot、httprunner、自己写

  • 数据选择 json/yaml、csv/excel、数据库、conf

  • 配置文件 conf/ini py xml

登出了怎么处理?

  • 增加登录的频次

  • 执行用例前,验证状态

  • 失败重试,加上登录

测试用例之间具有依赖处理

  • 不建议有依赖

  • 确保执行顺序

  • 并发时以用例类suite为单位运行

webdriver异常怎么处理,怎么恢复场景和记录结果

  • 记录日志,和当时的环境信息

  • 实时截图及保留屏幕录像(如使用docker+zalenium)

  • 用例失败后自动重跑(如使用pytest-rerunfailures)

  • 使用subprocess运行,并记录子进程退出code

  • 缓存上次执行结果

垃圾数据怎么处理#

  • 测试环境 执行sql

  • 生产环境 请求接口或执行UI步骤

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试老司机! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1663697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文精读-Transformer(Attention is All You Need)

文章目录 论文精读-Transformer&#xff08;Attention is All You Need)1.Transformer 整体结构2. Transformer 的输入2.1 单词 Embedding2.2 位置 Embedding 3. Self-Attention&#xff08;自注意力机制&#xff09;3.1 Self-Attention 结构3.2 Q, K, V 的计算3.3 Self-Attent…

Android NDK开发(一)生成指定平台的ndk及根据native接口生成jni接口

为了初步了解Android NDK开发&#xff0c;本文记录了Android Studio使用过程中的部分内容。 本专栏知识点是通过<零声教育>的音视频流媒体高级开发课程进行系统学习&#xff0c;梳理总结后写下文章&#xff0c;对音视频相关内容感兴趣的读者&#xff0c;可以点击观看课程…

Android Studio(AS)使用别人的项目与gradle包并运行项目

一、问题描述 在进行AS开发时&#xff0c;我们可能会使用到别人的项目&#xff0c;但发现别人把项目发给我们后会发现gradle项目同步失败o(≧口≦)o&#xff0c;此时计有三&#xff1a; 1.横行霸道、豪取抢夺&#xff1a;直接空降到项目人那里&#xff0c;强他的电脑占为己有…

在 Navicat 17 创建一个数据字典

即将于 5 月 13 日发布的 Navicat 17&#xff08;英文版&#xff09;添加了许多令人兴奋的新功能。其中之一就是数据字典工具。它使用一系列 GUI 指导你完成创建专业质量文档的过程&#xff0c;该文档为跨多个服务器平台的数据库中的每个数据元素提供描述。在今天的博客中&…

微信小程序开发【Coffee Shopping】(1)

1.环境准备 微信开发者工具&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 前端常用网站集合&#xff1a;http://www.wwp666.cn/ 微信小程序开发文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/quicksta…

Prompt|Kimi高阶技巧,99%的人都不知道

大家好&#xff0c;我是无界生长。 今天分享一条咒语&#xff0c;轻松让Kimi帮你生成流程图&#xff0c;学会了的话&#xff0c;点赞收藏起来吧&#xff01; 效果展示 我们演示一下让kimi帮忙绘制 关注微信公众号“无界生长”的流程图&#xff0c;最终效果图如下所示 效果还不…

基本QinQ

拓扑图 配置 开启LLDP功能&#xff0c;查看是否能通过QinQ隧道透传 sysname AR1 # lldp enable # interface GigabitEthernet0/0/0.10dot1q termination vid 10ip address 12.1.1.1 255.255.255.0 arp broadcast enable # sysname AR2 # lldp enable # interface GigabitE…

未来办公新方式--智能体与程序完美配合

Agent AI智能体的未来 工作中&#xff0c;有时候我们就像是在不停地踩着缝纫机&#xff0c;重复地做着那些单调乏味的任务&#xff0c;不仅耗时费力&#xff0c;还特别容易出错。可是&#xff0c;咱们现在可是生活在数字化时代啊&#xff01;这时候&#xff0c;Python编程语言…

SwinIR: Image Restoration Using Swin Transformer

ICCV2021 workshophttps://github.com/JingyunLiang/SwinIR 问题引入 将swim transformer使用到图像恢复任务当中&#xff0c;因为卷积存在不能建模长距离依赖以及使用相同的卷积核来恢复不同的图像区域&#xff1b;并不是首个将transformer引入图像恢复中的方法&#xff0c;…

python 常见错误 ModuleNotFoundError: No module named ‘requests‘

我们经常会遇到类似错误 ModuleNotFoundError: No module named ‘requests‘ ModuleNotFoundError: No module named bs4 现在记录一下解决方案。 File--》Settings--》Project--》Python interpreter》点击&#xff0b; 》输入requests--》选中requests--》点击右下角inst…

Linux虚拟主机如何设置错误页面

设置一个定制的404页面对网站有多种好处。首先&#xff0c;它能够提升用户体验&#xff0c;当用户访问错误的网址或不存在的页面时&#xff0c;定制的404页面能够友好地提醒用户并给予导航或提示。其次&#xff0c;404页面可以帮助留住访问者&#xff0c;让他们在意外情况下不至…

【系统架构师】-案例篇(六)MVC模式与XML

某商业银行欲开发一套个人银行系统&#xff0c;为用户提供常见的金融服务&#xff0c;包括转账、查询、存款变更和个人信息管理等功能。该软件除了业务需求外&#xff0c;还有一些特殊的表现层需求&#xff1a; A&#xff0e;根据用户级别的不同&#xff0c;界面和可用功能是不…

使用 Valgrind 检测内存泄漏

Valgrind 是一个编程工具&#xff0c;用于内存调试、内存泄漏检测以及性能分析。Valgrind 工具集中的 Memcheck 是用于检测内存管理和线程错误的主要工具。 参考&#xff1a;https://blog.csdn.net/weixin_44046545/article/details/138417524 1、安装 Valgrind sudo apt-ge…

手机在网状态多方面重要性

手机在网状态的重要性体现在多个方面&#xff0c;它是现代社会中人们保持联系、获取信息以及进行日常活动不可或缺的一部分。以下是一些关于手机在网状态重要性的详细解释&#xff1a; 通信联系&#xff1a; 手机是在现代社会中进行通信联系的主要工具。当手机处于在网状态时&…

【北京迅为】《iTOP-3588从零搭建ubuntu环境手册》-第8章 安装编译所需要的依赖包

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

(41)5.6-5.8数据结构(栈和队列的应用和数组)

1.栈在括号匹配中的应用 #define _CRT_SECURE_NO_WARNINGS #define MaxSize 10 typedef struct { char data[MaxSize];//静态数组存放栈中元素 int top; //栈顶指针 }SqStack;//初始化栈 void InitStack(SqStack& S);//判断栈是否为空 bool StackEmpty(SqStack S…

(已解决)org.springframework.amqp.rabbit.support.ListenerExecutionFailedException

报错截图 解决方案 1、登录rabbitMQ网址&#xff0c;删除所有队列 2、重启rabbitMQ 亲测有效&#xff01;&#xff01;&#xff01;亲测有效&#xff01;&#xff01;&#xff01;亲测有效&#xff01;&#xff01;&#xff01;

【工具】Office/WPS 插件|AI 赋能自动化生成 PPT 插件测评 —— 必优科技 ChatPPT

本文参加百度的有奖征文活动&#xff0c;更主要的也是借此机会去体验一下 AI 生成 PPT 的产品的现状&#xff0c;因此本文是设身处地从用户的角度去体验、使用这个产品&#xff0c;并反馈最真实的建议和意见&#xff0c;除了明确该产品的优点之外&#xff0c;也发现了不少缺陷和…

无需公网IP、无需云服务器,异地组网实现远程直连NAS、游戏联机

手机图片、视频太多&#xff0c;存储空间不够用怎么办?出门在外无法直连家中NAS&#xff0c;远程访问NAS速度慢&#xff1f;自建私有云、多媒体服务器&#xff0c;如何多人远程共享媒体资源&#xff1f;幻兽帕鲁、我的世界、泰拉瑞亚…局域网游戏&#xff0c;想远程多人联机&a…

PAD如何实现在用RJ45上网的同时还能保证PAD的续航?|边充电边上网

在数字化时代&#xff0c;手机已经成为我们生活、工作的得力助手。当提及手机边上网边充电时&#xff0c;或许您会想&#xff1a;“这不是常态吗&#xff1f;”但今天&#xff0c;我们要探讨的是一个更为特殊而重要的场景——有线网络直连手机。对于那些需要稳定网络连接、不能…