面试题——selenium原理解析、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 工作原理
二、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端