selenium工作原理

Selenium是一个用于Web应用程序UI自动化测试的工具,支持多种平台和浏览器。其工作原理涉及客户端、RemoteServer和浏览器驱动之间的交互,通过WebDriver协议,以JSON格式传输数据,实现不同语言脚本的兼容。该框架通过模拟用户行为验证应用的正确性、可靠性和稳定性。
摘要由CSDN通过智能技术生成

selenium自动化测试

  • selenium用于wed应用程序的UI自动化测试工具
  • 可以跨平台(windows,Mac,Linux)
  • 支持所有主流浏览器,包括(IE,chrome,Firefox,Edge,Safari等)

为什么selenium可以支持这么多浏览器

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

selenium工作原理

 它的工作原理可以简述为以下几个步骤:

  • 1、首先通过不同的语言按照jsonwire协议编写好用例,也就是client端,把用例发送给RemoteServer
  • 2、RemoteServer负责绑定某一个具体的浏览器,监听client端发来的请求,再解析这个请求,转发给浏览器驱动
  • 3、对应的浏览器驱动拿到这个转发的信息后,对对应的浏览器进行操作(点击,下拉,输入,滑动等)
  • 4、浏览器再把执行完后的结果给到浏览器驱动,浏览器拿到结果传递给Remotesever,Remotesever进一步把结果给到client,client根据返回的结果与预期的结果进行对比,判断这个用例执行是否成功

总之,Selenium通过模拟用户在浏览器中的行为,来验证网站和应用程序的正确性、可靠性和稳定性。

Selenium脚本执行时后端实现的流程:

  • 1.对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动
  • 2.浏览器驱动中包含了一个HTTP Server,用来接收这些http请求
  •  3.HTTP Server接收到请求后根据请求来具体操控对应的浏览器
  •  4.浏览器执行具体的测试步骤
  •  5.浏览器将步骤执行结果返回给HTTP Server
  • 6.HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。

WebDriver基于的协议:JSON Wire protocol

JSON Wire protocol是在http协议基础上,对http请求及响应的body部分的数据的进一步规范。body部分主要传送具体的数据,在WebDriver中这些数据都是以JSON的形式存在并进行传送的,这就是JSON Wire protocol。所以在Client和Server之间,只要是基于JSON Wire Protocol来传递数据,就与具体的脚本语言无关了,这样同一个浏览器的驱动就即可以处理Java语言的脚本,也可以处理Python语言的脚本了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值