(七)自动化测试
1. 简述什么是UI自动化测试?
正确回答通过率:78.0%
[ 详情 ] 推荐指数: ★★★★ 试题难度: 中级
UI自动化测试(User Interface Automation Testing)是一种通过编写脚本或使用自动化测试工具,对用户界面(UI)进行自动化测试的方法。它可以模拟用户与应用程序或网站的交互,自动化执行用户界面上的操作,如点击按钮、输入文本、选择选项等,并检查应用程序或网站的响应和行为是否符合预期。UI自动化测试通常用于验证用户界面的功能、性能和稳定性,并可以在软件开发过程中帮助检测和修复错误。
UI自动化测试一般包括以下步骤:
1:环境设置:准备测试环境,包括安装和配置自动化测试工具、设置测试数据和测试环境参数等。
2:测试脚本编写:编写测试脚本,用于模拟用户在应用程序或网站上的操作,例如点击按钮、输入文本、选择选项等。测试脚本通常使用编程语3:言或自动化测试工具提供的脚本语言编写,例如Selenium、Appium、Robot Framework等。
4:测试数据准备:准备测试数据,包括输入数据和预期输出数据。测试数据通常是用于验证应用程序或网站在不同输入条件下的正确性和稳定性。
5:测试脚本执行:执行测试脚本,自动化地模拟用户在应用程序或网站上的操作,并根据预期输出数据进行验证。测试脚本可以在不同的操作系统、浏览器或设备上执行,以确保应用程序或网站在不同平台上的一致性。
6:结果分析和报告生成:分析测试结果,检查应用程序或网站的行为是否符合预期,并生成测试报告,以便开发人员和测试人员了解测试的结果和问题。
UI自动化测试的优点包括:
1:提高测试效率:相比手动测试,UI自动化测试可以快速、准确地执行大量的测试用例,提高测试效率,减少人工测试的工作量。
2:提高测试覆盖率:UI自动化测试可以覆盖应用程序或网站的各个功能和页面,确保每个功能都经过测试,提高测试覆盖率,减少漏测的风险。
3:提高测试一致性:UI自动化测试可以确保在不同平台、浏览器或设备上的测试执行一致,减少人工测试的主观因素,提高测试的一致性和可靠。
4:提高软件质量:UI自动化测试可以帮助检测和修复应用程序或网站中的错误和缺陷,提高软件质量,减少软件发布后的问题。
2. 阐述目前主流的APP UI自动化测试工具 ?
正确回答通过率:61.0%
[ 详情 ] 推荐指数: ★★★★ 试题难度:
常用的框架:Appium、Airtest、Robotium、UIAutomator等
选取Appium框架(相比其他框架):开源、实现跨平台(iOS、Android)、多语言(python、Java、JavaScript、nodejs )、丰富的定位元素方式、更高的脚本复用性等
3. 你觉得自动化测试的价值在哪里?
正确回答通过率:82.0%
[ 详情 ] 推荐指数: ★★★ 试题难度: 初级
1:提高测试效率:相比手工测试,自动化测试能够更快速、更准确地执行测试用例。可以通过脚本自动运行、自动化生成测试报告等方式,大大节省了测试团队的时间和精力。
2:提高测试覆盖率:自动化测试可以快速执行大量的测试用例,并且可以在不同的环境、配置下进行测试。这使得测试团队能够更全面、更深入地检查软件的各个功能和模块,提高测试的覆盖率。
3:提高软件质量:自动化测试能够帮助发现软件中的潜在问题和缺陷,尤其是那些重复性高、易出错的测试任务。通过自动化测试,可以及早发现和修复问题,从而提高软件的质量和稳定性。减少人为错误:相比手工测试,自动化测试更加准确,减少了人为因素对测试结果的影响。同时,自动化测试能够持续执行测试用例,避免了由于人的疏忽或疲劳导致的测试遗漏或错误。
4:节省成本:虽然自动化测试需要一定的投入和学习成本,但长期来看,自动化测试可以大大减少人力资源的投入和测试周期的时间。这降低了软件开发和测试的成本,并提高了团队的效率。
综上所述,自动化测试的价值在于提高测试效率、提高测试覆盖率、提高软件质量、减少人为错误以及节省成本。
4. 如果有些接口做了鉴权(需要鉴定权限),怎么实现这些接口的自动化测试?
正确回答通过率:60.0%
[ 详情 ] 推荐指数: ★★★★ 试题难度: 高难
参考:在测试其他接口的时候需要先登录,并获取token,将token放在测试接口的请求头中一同传递。
首先需要明确接口是通过什么机制来实现的鉴权。
1.如果是通过会话id(JSESSIONID)来实现鉴权的,那么先调用完登录接口–》拿到它返回的这个数据–》存储起来–》后面再调用其他接口的时候直接带上这个数据过去就可以了。
2.如果是通过token来实现鉴权的,那么同样只需要在调用完登录接口–》拿到它返回的这个数据–》存储起来,后面操作同上。先回答上面的一个基本实现步骤,然后再补充以下一些实现细节:
「a. 怎么取到这个JSESSIONID或者token」
这个信息怎么取首先得明白它是怎么返回来的,可能为以下两种方式:
#登录接口的响应头
#登录接口的响应报文 需要找开发确认,不同方式不同取法。
「b. 怎么存储这个JSESSIONID或者token」
#文件中(excel、properties文件都可以)
#数据库
#代码里面自己定义的公共静态变量,作为一个共享的数据
「c. 请求其他需要鉴权的接口时,怎么带过去这个数据」
先找开发人员确认,再调用需要鉴权的这些接口怎么携带这个鉴权的信息(票)。一般不外乎这么几种:
#拼接在url上传过去用于服务器验证
#设置到请求体中
#通过请求头带过去
5. 接口自动化测试到底能解决什么问题 ?
正确回答通过率:79.0%
[ 详情 ] 推荐指数: ★★★ 试题难度: 初级
接口自动化测试的必要性:
1、业务逻辑层(接口层)出BUG的概率高,且单单靠功能测试覆盖不到,能发现更深层次的问题
2、由于接口稳定性好,一旦确定下来,后面很少会进行修改,方便做接口自动化测试开展,作用是对历史接口进行回归,能及时发现改动后对老功能的影响,平台迭代越久,历史接口积累越多,价值越大
3、敏捷研发中,需要接口自动化做支撑,在短周期的研发当中(快速交付),自动化接口测试能快速找出历史模块(接口)问题,以便能及时修复,大大节约了时间和人力
4、缩短开发定位问题的时间,接口测试能直接定位到具体某个接口,而且有相关的报错信息,
相关文章:
(七)自动化测试
1. 简述什么是UI自动化测试? 正确回答通过率:78.0%[ 详情 ] 推荐指数: ★★★★ 试题难度: 中级 UI自动化测试(User Interface Automation Testing)是一种通过编写脚本或使用自动化测试工具,对用户界面(UI)进行自动化测试的方法。它可以模拟用户与应用程序或网站的交…...

【信创】virtualbox内虚拟机连接U盘 _ 统信 _ 麒麟 _ 中科方德
原文链接:【信创】virtualbox内虚拟机连接U盘 | 统信 | 麒麟 | 中科方德 Hello,大家好啊!今天给大家带来一篇关于在信创操作系统上使用VirtualBox虚拟机连接物理主机U盘的文章。在使用VirtualBox虚拟机时,有时候需要将物理主机上的…...

【2024】Datawhale AI夏令营 Task4笔记——vllm加速方式修改及llm推理参数调整上分
【2024】Datawhale AI夏令营 Task4笔记——vllm加速方式修改及llm推理参数调整上分 本文承接文章【2024】Datawhale AI夏令营 Task3笔记——Baseline2部分代码解读及初步上分思路,对其中vllm加速方式进行修改,推理速度获得了极大提升。另外,…...
腾讯OCR签名算法
云服务器 签名方法 v3-调用方式-API 中心-腾讯云 一,签名算法-官网 copy官网 package com.smcv.customer.service.util;import org.springframework.http.HttpHeaders;import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import javax.xml.bind.D…...

CTFHUB-SSRF-DNS重绑定 Bypass
开启题目,页面空白,访问附件 附件是一个知乎的文章,翻到下面点击文中这个链接 跳转之后,进行设置 把得到的链接拼接到题目的后面进行访问,然后得到了本题的 flag...
【oracle】数据库基本使用
一、oracle数据库简介 Oracle 数据库,亦称 Oracle RDBMS,或简称 Oracle,是一款由甲骨文公司推出的高效、稳定且广泛应用的关系型数据库管理系统。该数据库系统不仅在数据管理领域处于领先地位,而且由于其良好的可移植性、易用性和…...

Action部署在线上写文章
原文:https://blog.c12th.cn/archives/32.html 前言 之前分别出了 Hexo 和 Hugo 的 Action搭建教程,相当于伪动态,可以在线上写文章了;不过对于喜欢魔改的同学就不太友好了qwq 教程 github.dev 确保在配置过程中能访问Github &…...
CC链 (Commons Collections)
目录 前置知识 CC链: https://mvnrepository.com/ CC链 CC链 Commons Collections --apache组织发布的开源库 里面主要对集合的增强以及扩展类 被广泛使用 组件,HashMap HashTable ArrayList总结CC链: 就是有反序列化入口,同时有cc库的情况下,…...

左手坐标系、右手坐标系、坐标轴方向
一、右手坐标系 1、y轴朝上:webgl、Threejs、Unity、Unreal、Maya、3D Builder x:向右y:向上z:向前(朝向观察者、指向屏幕外) 2、z轴朝上:cesium、blender x:向右y:向前…...

芋道源码yudao-cloud 二开日记(商品sku数据归类为规格属性)
商品的每一条规格和属性在数据库里都是单一的一条数据,从数据库里查出来后,该怎么归类为对应的规格和属性值?如下图: 在商城模块,商品的单规格、多规格、单属性、多属性功能可以说是非常完整,如下图&#x…...

自媒体新闻资讯类网站模板/EyouCMS自媒体资讯类网站模板
自媒体新闻资讯类网站模板,EyouCMS自媒体资讯类网站模板。模板自带eyoucms内核,无需再下载eyou系统,原创设计、手工书写DIVCSS,完美兼容IE7、Firefox、Chrome、360浏览器等;主流浏览器;结构容易优化&#x…...

Python3 第六十课 -- 实例二十九
目录 一. 冒泡排序 二. 归并排序 一. 冒泡排序 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再…...

【JAVA入门】Day17 - GUI
【JAVA入门】Day17 - GUI 文章目录 【JAVA入门】Day17 - GUI一、组件二、事件 GUI 即图形化界面。 一、组件 一个 Java 的图形化界面项目主要用到了下面几种组件。 Java 中最外层的窗体叫做 JFrame。Java 中最上层的菜单叫做 JMenuBar。Java 中管理文字和图片的容器叫做 JLab…...

OpenAI API continuing conversation in a dialogue
题意:在对话中继续使用OpenAI API进行对话 问题背景: I am playing around with the openAI API and I am trying to continue a conversation. For example: 我正在尝试使用OpenAI API,并试图继续一段对话。例如: import open…...

6.前端怎么做一个验证码和JWT,使用mockjs模拟后端
流程图 创建一个发起请求 创建一个方法 getCaptchaImg() {this.$axios.get(/captcha).then(res > {console.log(res);this.loginForm.token res.data.data.tokenthis.captchaImg res.data.data.captchaImgconsole.log(this.captchaImg)})}, captchaImg: "", 创…...

Python酷库之旅-第三方库Pandas(064)
目录 一、用法精讲 251、pandas.Series.tz_localize方法 251-1、语法 251-2、参数 251-3、功能 251-4、返回值 251-5、说明 251-6、用法 251-6-1、数据准备 251-6-2、代码示例 251-6-3、结果输出 252、pandas.Series.at_time方法 252-1、语法 252-2、参数 252-3…...
MATLAB基础操作(二)
11.求方程2x^5-3x^371x^2-9x130的全部跟 >> p[2,0,-3,71,-9,13]; >> xroots(p); 12.求解线性方程组2x3y-z2 8x2y3z4 45x3y9z23 >> a[2,3,-1;8,2,3;45,3,9];%建立系数矩阵a >> b[2,4,23]%建立列向量b >> …...
win10 繁体简体字切换
1. 使用快捷键 Ctrl Shift F 2. 在语言设置中更改 | 点击任务栏上的“开始”按钮。 | 选择“设置”(齿轮图标)。 | 在弹出的“Windows 设置”窗口中,点击“时间和语言”。 | 选择“语言”选项。 | 在右侧找到您正在使用的输入法ÿ…...

R语言统计分析——描述性统计
参考资料:R语言实战【第2版】 1、整体统计 对于R语言基础安装,可以使用summary()函数来获取描述性统计量。summary()函数提供了最小值、最大值、四分位数、中位数和算术平均数,以及因子向量和逻辑向量的频数统计。 myvars<-c("mpg&…...
为什么需要合成数据进行机器学习
为什么需要合成数据进行机器学习 文章目录 一、说明二、数据缩放问题三、合成数据的前景与进展四、将合成数据与 LLM 结合使用的最佳实践五、通过合成数据释放创新 一、说明 数据是人工智能的命脉。如果没有高质量的、具有代表性的训练数据,我们的机器学习模型将毫无…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...