Selenium WebDriver原理(一):Selenium WebDriver 是怎么工做的?

首先咱们来看一个经典的例子: 搭出租车


在出租车驾驶中,一般有3个角色:html

  • 乘客 : 他告诉出租车司机他想去哪里以及如何到达那里
对出租车司机说:
一、去阳光棕榈园东门
二、从这里转左
三、而后直行 200米,第一个红绿灯右转
四、再直行 50米,到阳光棕榈园东门
五、停车
  • 出租车司机 : 他按照客户的要求; 出租车司机使用方向盘和汽车踏板驾驶汽车送乘客去目的地
出租车司机操做汽车:
一、插钥匙点火,启动汽车引擎
二、开一小段路后左转
三、加速,直行200米
四、右转,直行50米
五、减速停车,到达阳光棕榈园东门
  • 汽车 : 汽车执行出租车司机的操做
一、启动引擎
二、左转
三、直行
四、右转
五、停车

在使用Selenium WebDriver的测试自动化中,有3个角色

  • 编写自动化代码的测试工程师 : 运行自动化代码将请求发送到浏览器驱动
告诉浏览器 :
一、打开 www.abc.com
二、作一个关键字搜索 selenium
三、检查实际结果,与预期结果作比较
  • 浏览器驱动 : 它执行测试工程师的请求,而后它向浏览器发送请求
告诉浏览器 :
一、给我打开这个页面 www.abc.com
二、当textbox显示可见,保存这个web element
三、操做textbox这个对象,输入selenium
四、当确认按钮能够点击,保存这个web element对象
五、点击这个按钮对象
  • 浏览器 : 它执行浏览器驱动的请求
一、打开www.abc.com
二、找到搜索框textbox,输入selenium
三、点击搜索按钮
四、展现搜索结果

作一个类比:

  • 测试工程师就像客户
  • 浏览器驱动就像一个出租车司机
  • 浏览器就像一辆车租车

image

执行自动化脚本,会执行如下步骤:

  • 对于每一个Selenium命令,都会建立一个HTTP请求并将其发送到浏览器驱动程序
  • 浏览器驱动使用HTTP服务器来获取HTTP请求
  • HTTP服务器肯定实现Selenium命令所需的步骤
  • 实现步骤在浏览器上执行
  • 执行状态被发送回HTTP服务器
  • 在HTTP服务器返回该状态的自动化脚本

参考文章:
webdriver自动化测试就像搭出租车web

相关文章
相关标签/搜索