Selenium WebDriver 的工作原理
打车的三个角色
1、 乘客 –告诉出租车司机要求哪里
2、 出租车司机 –根据乘客目的地的要求驾驶出租车
3、 出租车 –根据司机的驾驶行走
WebDriver角色对应
1、 自动化测试脚本(API)---乘客
2、 浏览器驱动---出租车司机
3、 浏览器---出租车
原理:编写的测试脚本,作为一个HTTP请求发给浏览器驱动,相当于一个模拟的客户端;浏览器驱动中包含有一个http Server,它接受到请求后,会解析请求去操控浏览器;浏览器执行操作后将最终结果返回给http server即浏览器驱动,浏览器驱动再返回给自动化脚本(客户端),这样就可以在控制台看到执行结果和日志。自动化测试脚本与浏览器驱动之家的交互式典型的C/S架构
补充:
同一个驱动为啥可以支持多种语言呢?
WebDriver使用的协议是:JSON wire protocol;
通讯数据格式为JSON