面试题——selenium原理解析、appium原理解析

news2024/12/25 14:34:33

这里写目录标题

  • 一、selenium原理解析
    • 1、目的
    • 2、技术点
    • 3、Selenium 介绍
    • 4、Selenium 自动化测试
    • 5、为什么能够支持这么多种浏览器?
    • 6、Selenium 工作原理
  • 二、appium原理解析
    • 1、目的
    • 2、技术点
    • 3、Appium 介绍
    • 4、Appium 工作原理

一、selenium原理解析

1、目的

了解是否使用过 selenium 进行 web 自动化测试
为什么 Selenium 支持多浏览器
是否了解 Selenium 工作原理

2、技术点

selenium 有哪几部分组成
源码角度分析 selenium 工作原理
使用了 WebDriver Wire Protocol 协议

3、Selenium 介绍

官网:https://www.selenium.dev/
WebDriver 用于操作浏览器
Selenium IDE: 是用来录制回放测试用例的工具
Selenium Grid: 分布式并发执行用例

4、Selenium 自动化测试

Selenium 用于 Web 应用程序的 UI 自动化测试工具
可以跨平台(Mac/Linux/Windows)
支持所有主流浏览器,包括(Chrome/Chromium、 Firefox、 Internet Explorer、 Edge、 Opera 和 Safari)

5、为什么能够支持这么多种浏览器?

Selenium WebDriver 是典型的 Server-Client 模式
浏览器厂商会提供驱动浏览器操作的中间件(WebDriver), 通过这个中间件可以直接驱动浏览器执行各种操作,比如点击,滑动, 输入,下拉等等

6、Selenium 工作原理

编写测试用例——》执行测试脚本——》后台启动一个服务(RemoteServer)绑定到某一个浏览器上,RemoteServer会一直监听代码发过来的请求(通过JsonWire协议发送请求)——》将收到的请求解析转发给浏览器驱动(Chromedriver)(简称中间件)——》浏览器驱动再次驱动对应的浏览器,执行对应的操作(点击、滑动、输入等)(不同的浏览器、不同的浏览器版本要和浏览器驱动对应)——》执行完操作之后,将结果依次的再发送给客户端
在这里插入图片描述

二、appium原理解析

1、目的

想了解你有没有用过 Appium 测试框架
常用的 API 是否熟悉,移动端的特殊组件,特殊操作是否能处理
是否看过源码
是否了解 Appium 框架底层工作原理

2、技术点

常用的 appium api
底层通讯协议
Appium 底层框架原理

3、Appium 介绍

官网:http://appium.io/
跨语言:Java、Python、nodejs 等
跨平台

端:Android、iOS
PC 端:Windows、Mac

底层多引擎可切换
生态丰富,社区强大

4、Appium 工作原理

client端:编写测试用例
server端:在运行测试用例脚本的时候需要提前启动appium server端,它会监听客户端发送过来的请求(默认端口为4723),在请求过程中遵循一种webdriver协议,在第一次通讯的时候,会传递一个 DesireCapability 对象,告诉 AppiumServer,被测试设备的一些信息,DesireCapability 对象中包含(platformName、platformVersion、deviceName等等)。第一次请求完成,会创建一个 session 对象,随后会使用这个 session 对象完成对设备的操作(比如点击,输入等)。
手机端:最后将执行结果返回给server端,server端再将结果返回给client端

在这里插入图片描述

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

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

相关文章

远程桌面连接出现了内部错误怎么解决?

远程桌面连接是一种非常方便的工具,可以让用户从远程访问其他计算机的桌面界面。但是,有时候在连接远程桌面时会出现内部错误,导致无法连接或者连接后无法正常使用。在本文中,我们将会讨论远程桌面连接出现内部错误的原因和解决方…

CRMEB知识付费二次开发 加密阿里云视频MP4点播链接为m3u8格式 hls blob协议

只有添加分发加速的域名才能使用HLS加密,同时也要做HTTPS证书添加,不然也会报错。 1、这是电脑端视频播放页面效果 2、这个手机端H5视频播放页面效果 3、在网站后台上传你的视频内容 4、上传完之后可以进行预览 5、在阿里云控制台设置就好自己的转码模…

舞台特效-第14届蓝桥杯省赛Scratch初级组真题第2题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第131讲。 舞台特效,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程初级组真题第2题&#xf…

SRVCC流程及异常场景介绍

SRVCC(Single Radio Voice Call Continuity)用于在LTE和3G网络之间,实现VoLTE电话无缝切换到3G网络。用户正在使用VoLTE电话进行通话,当他们移出了LTE网络覆盖范围,SRVCC技术会自动将电话切换到3G网络,从而保持通话不中断。 关键流程如下 UE(用户设备)向MME(移动管理…

Python 密码破解指南:5~9

协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【OpenDocCN 饱和式翻译计划】,采用译后编辑(MTPE)流程来尽可能提升效率。 收割 SB 的人会被 SB 们封神,试图唤醒 SB 的人是 SB 眼中的 SB。——SB 第三定律 五、凯…

RHCSA之基础配置

目录 RHCSA之基础配置 快照设置 1.快照的作用 2.创建快照 3.删除快照 界面图标 Boxes --- 命令行字符形状工具 Calculator --- 计算器 Cheese --- 摄像头 Files --- 文件 FireFox --- 火狐浏览器 Red Hat Subscription Manager --- red hat订阅经理 Settings --- 设…

车载铁路M12工业交换机 3U 轨道交通板卡交换机设计方案

支持双电源冗余 支持Bypass 专门为轨道交通应用设计和制造的以太网数据通信设备 根据IEC61375-2-5和IEC61375-2-3协议实现的列车级骨干以太网核心设备 中国铁路 产品认证 XM-5145工业交换机是专为轨道交通、船载、车载等恶劣环境设计开发的二层网管型交换机。产品设计符合轨…

Java学习(11):Java实现图书馆书库管理系统

接上次博客:Java学习(10)多接口、接口的继承、抽象类和接口的区别、Object类【toString 、equals、hashcode】、接口实例 【compareTo、clone 】、浅拷贝和深拷贝、内部类_di-Dora的博客-CSDN博客 我们要想完成这个书库管理系统,…

MySQL基础(十七)触发器

在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如商品信息和库存信息分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加…

VMware ESXi 7.0 U3m Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)

ESXi 7 U3 标准版集成 Intel 网卡、USB 网卡 和 NVMe 驱动 请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3-sysin/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2023-05-03,发布 ESXi 7.0U…

8-1HBase的安装与简单操作

目录 第1关:Hbase数据库的安装 代码如下: 第二关:创建表 首先要启动:hbase shell 1、create “表名” , ”列族名” 新建一个表 2、list 列出hbase中存在的所有表 代码测试: 第三关:添加数据、…

加解密技术了解

常用的对称加密算法: 对称算法,指加密和解密使用相同密钥的加密算法,对称加密算法用来对敏感数据等信息进行加密。 1). DES算法 2). 3DES算法 3). AES算法 4). TDEA算法 5). Blowfish算法 6). RC5算法 7). IDEA算法 三种常用对称算法…

Speech and Language Processing之word2vec

1、介绍 事实证明,在每一个NLP任务中,密集向量都比稀疏向量工作得更好。虽然我们不能完全理解其中的所有原因,但我们有一些直觉。首先,密集向量可以更成功地作为特征包含在机器学习系统中;例如,如果我们使用100维…

Shell脚本之正则表达式详解(花每年都开,你还是那个你吗)

文章目录 一、什么叫做正则表达式二、正则表达式的组成三、正则表达式分类四、正则表达式字符用法五、正则表达式练习1.匹配/etc/fstab中不是以#开头的行2.匹配/etc/passwd中以bash结尾的行3.匹配文件中025开头,后一个字符为"-"、" " 或没有&am…

Linux进程信号(下)

目录 1:信号保存概念 2:sigset_t 3:信号集操作函数 3.1:sigprocmask 3.2:9号进程不能被阻塞(验证) 3.3:sigpending 4:信号处理 5:sigaction 6&#x…

C++知识点 -- C++的IO流

C知识点 – C的IO流 文章目录 C知识点 -- C的IO流一、C标准IO流1.多个输入数据2.多行数据读入 二、C文件IO流1.ifstream读文件2.文件读写类 三、stringstream 一、C标准IO流 C系统实现了一个庞大的类库,其中以ios为基类,其他类都是直接或间接派生自ios类…

springboot 阿里云oss图片上传和异常处理

自己去申请开通阿里云oss。 对象存储 OSS_云存储服务_企业数据管理_存储-阿里云 1.在pom.xml添加依赖 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.14.0</version></dep…

港科夜闻|香港科大与香港资管通有限公司签署校企合作备忘录,成立校企合作基金促科研成果落地...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与香港资管通有限公司签署校企合作备忘录&#xff0c;成立校企合作基金促科研成果落地。“港科资管通领航基金”28日在香港成立&#xff0c;将致力于推动高校科研成果转化&#xff0c;助力香港国际创科中心建设。…

Fabric.js 拖拽顶点修改多边形形状

theme: smartblue 我正在参加「掘金启航计划」 本文简介 戴尬猴&#xff0c;我是德育处主任 这次要介绍的一个demo是"拖拽多边形定点修改多边形形状"。 其实 Fabric.js 官网也有这个demo&#xff1a;Fabric.js demos Custom controls, polygon 。但这个demo可能对于…

ASEMI代理ADV7611BSWZ原装ADI车规级ADV7611BSWZ

编辑&#xff1a;ll ASEMI代理ADV7611BSWZ原装ADI车规级ADV7611BSWZ 型号&#xff1a;ADV7611BSWZ 品牌&#xff1a;ADI/亚德诺 封装&#xff1a;LQFP-64 批号&#xff1a;2023 引脚数量&#xff1a;64 工作温度&#xff1a;-40C~85C 安装类型&#xff1a;表面贴装型 …