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自动化测试就像搭出租车

  • 相关阅读:
    WIN7远程桌面连接--“发生身份验证错误。要求的函数不受支持”
    django-xadmin使用之更改菜单url
    django-xadmin使用之配置页眉页脚
    django-xadmin定制之列表页searchbar placeholder
    django-xadmin定制之分页显示数量
    Chrome无界面浏览模式与自定义插件加载问题
    Chrome开启无界面浏览模式Python+Windows环境
    django-xadmin中APScheduler的启动初始化
    处理nginx访问日志,筛选时间大于1秒的请求
    将Excel文件转为csv文件的python脚本
  • 原文地址:https://www.cnblogs.com/snailrunning/p/9413446.html
Copyright © 2011-2022 走看看