zoukankan      html  css  js  c++  java
  • Selenium WebDriver原理(一):Selenium WebDriver 是怎么工作的?

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


    在出租车驾驶中,通常有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.com
    2、做一个关键字搜索 selenium
    3、检查实际结果,与预期结果做比较
    
    • 浏览器驱动 : 它执行测试工程师的请求,然后它向浏览器发送请求
    告诉浏览器 :
    1、给我打开这个页面 www.abc.com
    2、当textbox显示可见,保存这个web element
    3、操作textbox这个对象,输入selenium
    4、当确认按钮可以点击,保存这个web element对象
    5、点击这个按钮对象
    
    • 浏览器 : 它执行浏览器驱动的请求
    1、打开www.abc.com
    2、找到搜索框textbox,输入selenium
    3、点击搜索按钮
    4、展示搜索结果
    

    做一个类比:

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

    image

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

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

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

  • 相关阅读:
    vi编辑器
    数据发送的三种方式
    发送文件的三种方式
    提交表单提示框确定取消 点取消不会刷新页面
    input value="值栈的值"
    值栈
    struts2文件上传突破2M限制
    jsp取不到值栈的值
    站群--插件--点击量
    Java WebService 简单实例
  • 原文地址:https://www.cnblogs.com/snailrunning/p/9413446.html
Copyright © 2011-2022 走看看