首先我们来看一个经典的例子: 搭出租车
在出租车驾驶中,通常有3个角色:
- 乘客 : 他告诉出租车司机他想去哪里以及如何到达那里
对出租车司机说:1、去阳光棕榈园东门2、从这里转左3、然后直行 200米,第一个红绿灯右转4、再直行 50米,到阳光棕榈园东门5、停车
- 出租车司机 : 他按照客户的要求; 出租车司机使用方向盘和汽车踏板驾驶汽车送乘客去目的地
出租车司机操作汽车:1、插钥匙点火,启动汽车引擎2、开一小段路后左转3、加速,直行200米4、右转,直行50米5、减速停车,到达阳光棕榈园东门
- 汽车 : 汽车执行出租车司机的操作
1、启动引擎2、左转3、直行4、右转5、停车
在使用Selenium WebDriver的测试自动化中,有3个角色
- 编写自动化代码的测试工程师 : 运行自动化代码将请求发送到浏览器驱动
告诉浏览器 :1、打开 www.abc.com2、做一个关键字搜索 selenium3、检查实际结果,与预期结果做比较
- 浏览器驱动 : 它执行测试工程师的请求,然后它向浏览器发送请求
告诉浏览器 :1、给我打开这个页面 www.abc.com2、当textbox显示可见,保存这个web element3、操作textbox这个对象,输入selenium4、当确认按钮可以点击,保存这个web element对象5、点击这个按钮对象
- 浏览器 : 它执行浏览器驱动的请求
1、打开www.abc.com2、找到搜索框textbox,输入selenium3、点击搜索按钮4、展示搜索结果
做一个类比:
- 测试工程师就像客户
- 浏览器驱动就像一个出租车司机
- 浏览器就像一辆车租车
执行自动化脚本,会执行以下步骤:
- 对于每个Selenium命令,都会创建一个HTTP请求并将其发送到浏览器驱动程序
- 浏览器驱动使用HTTP服务器来获取HTTP请求
- HTTP服务器确定实现Selenium命令所需的步骤
- 实现步骤在浏览器上执行
- 执行状态被发送回HTTP服务器
- 在HTTP服务器返回该状态的自动化脚本
参考文章:
webdriver自动化测试就像搭出租车
selenium webdriver 是怎么工作的?
原文地址:https://www.cnblogs.com/snailrunning/p/9413446.html