软件测试-自动化测试-面试题研究,知识要点,高频、重点知识点,自动化测试知识要点、知识梳理-PYTHON+自动化,评估试题
自动化项目实战能力评估
介绍一下你的自动化测试框架?
我的框架主要根据分层思想设计了几个独立模块:
模块一:主要存放通用业务代码,比如接口访问,数据库操作,excel 操作,等等
模块二:主要负责用例收集和用例执行,生成测试报告。
模块三:主要负责存放测试用例数据。通常是使用 excel, yaml, 等通用数据格式。
模块四:主要存放测试用例方法和测试逻辑相关代码。这里会调用模块一种的通用方法。
讲一下在工作中怎么做的自动化测试?描述自动化测试的流程(重点)
回答1
a. 根据自动化测试特性整理需求
b. 根据优先级,和公司人员状况制定自动化测试计划
c. 制定自动化测试执行方案
d. 自动化测试用例设计或从功能测试用例中挑选适合的用例
e. 自动化脚本的开发
f. 自动化测试执行,生成报告
回答2
1、编写自动化测试的计划
2、设计自动化测试的用例
3、编写自动化测试的框架和脚本
4、调试和维护脚本
5、无人值守测试
6、后期脚本维护,添加用例,开发新版本。
拿到一个项目,怎么衡量这个项目做接口自动化还是 UI 自动化?
1、不管什么项目都可以做接口自动化
2、偏公司内部人员使用的管理平台无需做UI自动化,对外用户的可以考虑做UI自动化。
自动化测试中,测试用例的执行是怎么让他按照你写的用例一条一条执行的?
在我的项目接口自动化中,我是用的pytest框架。一个接口的用例,我的用例数据是写在excel当中,在编写时就是按照顺序写的,从excel读取出来使用数据驱动方式就是按照excel中的顺序;多个接口的用例,因为我是一个接口一个py测试文件,所以我在py测试文件命名中,用00-99数字按顺序编写的。
用例数据是在哪里取的?excel 吗?用到什么方法?什么第三方库?
是的,我们是使用Excel管理测试用例数据的,据我所知,Yaml也可以管理数据,我们在测试的时候,首先是要先封装一个读取用例的方法,作为工具类读取用例。第三方库方面,用到了读写excel文件(xlrd、xlwt、openpyxl等)另外,我还了解还可以使用pandas库(read_csv 、read_excel等)第三方库进行读取。
接口自动化的断言怎么做
1) 响应码
对于http类接口,有时开发人员只是通过设置接口响应码来反应接口是否成功,这时我们的断言就需要检查接口响应码是否符合预期来判断用例是否执行成功。
2) 验证关键字段值
一般接口中会设有专门的字段来反馈接口成功与否的信息,比如:msg字段,经常好多接口通过该字段反应后台的处理情况,如果成功会返回成功信息,失败会返回失败原因。这样我们测试时可以直接校验该字段
值来判断用例是否执行成功。
3) 正则匹配
当一个接口返回内容比较多时,但有一定规则可寻,我们可以借助正则表达式来校验检查。
4) 数据库匹配核对
要对一个查询类接口的返回数据进行验证,我们可以采用编写SQL,到数据查询结果,然后将数据库结果与接口返回结果进行核对检查,这样就能比较准确的验证接口返回数据的正确性。
5) 相关接口辅助验证
举个例子,比如测试一个删除接口,删除了一条记录后,如何验证接口真的把记录删除成功了,可以再调用查询接口,检查被删除的记录是否真的查询不到了,那就说明删除真的成功了
pytest的前置实现有哪几种方式?
1、setup/teardown,setup_class/teardown_class
2、使用@fixture()装饰器来实现部分用例的前后置
Jemeter或Postman实现多接口关联测试?怎么做关联?(重点)
Jmeter:正则表达式提取器、json path postprocessor(JSON Extractor)、XPath Extractor。
Postman:后置处理器(Tests)中获取相关数据,提取字段,设置全局变量,在下一个接口中引用全局变量。
有没有遇到元素定位不到情况?如何处理的?
1、页面加载元素过慢,加等待时间
2、页面有 frame 框架页,需要先跳转入 frame 框架再定位
3、可能该元素是动态元素,定位方式要优化,可以使用部分元素定位或通过父节点或兄弟节点定位。
4、可能识别了元素,但是不能操作,比如元素不可用,不可写等。需要5、使用js 先把前置的操作完成,
6、元素定位的表达式写错了。
相关文章:
软件测试-自动化测试-面试题研究,知识要点,高频、重点知识点,自动化测试知识要点、知识梳理-PYTHON+自动化,评估试题
自动化项目实战能力评估 介绍一下你的自动化测试框架? 我的框架主要根据分层思想设计了几个独立模块: 模块一:主要存放通用业务代码,比如接口访问,数据库操作,excel 操作,等等 模块二…...
一.重新回炉Spring Framework: 理解Spring IoC
1. 写在前面的话 说实话,从事java开发工作时间也不短了,对于Spring Framework,也是天天用,这期间也碰到了很多问题,也解决了很多问题。可是,总感觉对Spring Framework还是一知半解,不能有个更加…...
目标检测算法之YOLOv5的应用实例(零售业库存管理、无人机航拍分析、工业自动化领域应用的详解)
1.YOLOv5在"零售业库存管理"领域的应用 在零售业库存管理中,YOLOv5可以帮助自动化商品识别和库存盘点过程。通过使用深度学习模型来实时识别货架上的商品,零售商可以更高效地管理库存,减少人工盘点的时间和成本。以下是一个使用YOLOv5进行商品识别的Python脚本示…...
[蓝桥 2017]九宫幻方
九宫幻方 题目描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将 1~9 不重复的填入一个 3*3 的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格…...
Qt - 编译报错:“invalid use of incomplete type ‘class Ui::xxx‘ui(new Ui::xxx)”的解决方法
问题起因 今天在创建Qt设计器界面类时,类名的英文拼写错误,然后就重命名了文件,而Qt Creator也帮我自动修改了一部分内容,之后我手动将cpp文件中的#include " *** "里的内容给修改了,构造函数和析构函数处也…...
基于Doris构建亿级数据实时数据分析系统
背景 随着公司业务快速发展,对业务数据进行增长分析的需求越来越迫切,与此同时我们的业务数据量也在快速激增、每天的数据新增量大概在30w 左右,一年就会产生1 个亿的数据,显然基于传统MySQL数据库已经无法支撑满足以上需求 基于上…...
javascript中的prototype;javascript中的原型链
文章目录 深入理解JavaScript原型链1. 什么是原型链?2. 原型链的结构3. 如何访问原型链?4. 示例演示原型链5. 原型链与继承6. 实际应用场景 深入理解JavaScript原型链 1. 什么是原型链? 在JavaScript中,每个对象都有一个原型&am…...
CI/CD部署
什么是CI,什么是CD CI和CD是软件开发中持续集成和持续交付的缩写。 CI代表持续集成(Continuous Integration),是一种实践,旨在通过自动化构建、测试和代码静态分析等过程,频繁地将代码变更合并到共享存储…...
定点数,定点数二维向量,定点数三维向量,定点数数学类
定点数,定点数二维向量,定点数三维向量,定点数数学类 介绍浮点数定点数封装的定点数FixedNumber定点数二维向量定点数三维向量定点数数学类总结 介绍 众所周知定点数是用于做帧同步时保持不同cpu不同设备保持一致稳定的代替浮点数的变量&…...
安装ts-node有感
起因:想要在vsCode上运行ts脚本 解决方案: 1.安装vsCode插件 code runner 2.全局安装ts-node 这一步遇到三个问题: ①.node版本问题:需安装版本18以上node,可使用nvm去控制不同的node版本 ②.certificate has exp…...
飞天使-k8s知识点18-kubernetes实操3-pod的生命周期
文章目录 探针的生命周期流程图prestop 探针的生命周期 docker 创建:在创建阶段,你需要选择一个镜像来运行你的应用。这个镜像可以是公开的,如 Docker Hub 上的镜像,也可以是你自己创建的自定义镜像。创建自己的镜像通常需要编写一…...
顺子日期 蓝桥杯
调用API 思路: 设置Calendar的属性,获取Calendar的毫秒数,转换成指定格式的字符串(yyyyMMdd),判断字符串中是否包含符合条件的,若有就1, 迭代: 每次循环给Calendar加上一天即可 import java.text.SimpleDateFormat; im…...
基于 Python 的景区票务人脸识别系统,附源码
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
OpenAI全新发布的Sora,到底意味着什么?
16日凌晨,OpenAI发布了文本视频的工具(text-do-video)Sora,整个世界再次被震撼。 Sora的出现,到底意味着什么? 目录 Sora的背景与概述Sora是什么?能为我们做些什么?存在的一些问题 文…...
预防.locked.locked1勒索病毒攻击:保护数据安全
导言: 随着科技的发展,网络安全问题日益严重,其中勒索病毒是一种令人头痛的威胁。.locked和.locked1是两种常见的勒索病毒,它们会将用户的数据文件加密,并要求支付赎金以获取解密密钥。本文将介绍这两种勒索病毒的特点…...
【力扣hot100】刷题笔记Day5
前言 回学校了,荒废了半天之后打算奋发图强猛猛刷题,找实习!赚钱!! 560. 和为 K 的子数组 - 力扣(LeetCode) 前缀法 哈希表 这个题解解释比官方清晰,截个图方便看,另一…...
解锁Spring Boot中的设计模式—04.桥接模式:探索【桥接模式】的奥秘与应用实践!
桥接模式 桥接模式也称为桥梁模式、接口模式或者柄体(Handle and Body)模式,是将抽象部分与他的具体实现部分分离,使它们都可以独立地变化,通过组合的方式建立两个类之间的联系,而不是继承。 桥接模式是一种…...
[talib][python]ta-lib所有whl文件下载地址汇总
TA-Lib-0.4.28-cp312-cp312-win-amd64.whl下载地址:https://download.csdn.net/download/FL1623863129/88589956 ta-lib-0.4.25-cp311-cp311-win-amd64.whl下载地址:https://download.csdn.net/download/FL1623863129/88265329 TA-Lib-0.4.24-cp310-cp31…...
【开源】JAVA+Vue.js实现农村物流配送系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理:2.2.2 位置信息管理:2.2.3 配送人员分配:2.2.4 路线规划:2.2.5 个人中心:2.2.6 退换快递处理:…...
锁相放大器,数字锁相放大器.C和python版的源代码
数字锁相放大器. 锁相放大器, 它是一种可以从高噪声环境中提取出特定频率信号的放大器,工作原理主要是利用正弦函数的正交性进行信号的相位检测和幅值测量。如果你对锁相放大器感兴趣,我可以给你更详细的解释。 数字锁相放大器是利用软件算法来实现提取…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
