webdriver工作原理-体验webdriver发送http的过程

原创 2015年11月21日 13:44:46
webdriver使用c/s结构,通过向服务端发送请求,服务端驱动浏览器执行相应操作。

下面通过构造http请求,向服务端发送请求,来驱动浏览器。

本文使用java作为案例,需要用到的工具:
1.eclipse(已导入了webdriver相应的jar包和log4j的jar包)
2.firefox(已安装了RESTClient)

实现功能:通过构造http请求驱动浏览器,感受webdriver的工作原理。本文通过打开百度页面为例。
体验步骤:

1.如下建立对应测试类,并执行。
package com.selenium;
 
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.*;

public class TestSelenium {
private Logger logger = Logger.getLogger(TestSelenium.class);
    
public static void main(String [] args){
PropertyConfigurator.configure("D:/tools/auto/src/config/log4j.properties");
   
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com");
driver.quit();
 
    }
}
2.在控制台查找打开百度网页的http请求信息。(日志比较多,只截取了打开百度网页部分的请求)
从下图可以看到客户端向服务端发送的http请求内容,使用的post请求。

3.将步骤一中的代码(driver.get("http://www.baidu.com")删除掉。我们将模拟发送请求的过程,来实现这行代码实现的功能。为了操作实现,需要把driver.quit()注释掉。删除后,再次运行。这时,只是打开了一个浏览器页面。如下图:

4.打开firefox,并打开REFTClient插件。如下

5.根据步骤2中看到的http请求,构造post请求。注意sessionid需要替换为步骤3中得到的sessionid(就是下图中那个以8开头的比较长的一串东西)。


6.发送后,查看结果。可以看到步骤3中打开的浏览器,执行了打开百度网页的动作。RESTClient端,收到服务端的response。

版权声明:本文为博主原创文章,未经博主允许不得转载。

WebDriver原理分析

WebDriver原理分析WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native support来操作浏览器。所以对于不同平台,不同的浏览器,必须依赖一个特定的浏览器...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

webdriver原理之driver与浏览器交互

使用selenium与webdriver打交道,大家都知道,是启动webdriver去调用浏览器,来完成操作。今天就主要介绍的详细点,driver与浏览器的亲密交互,主要使用chrome与chrome...

揭秘webdriver实现原理

转自http://www.cnblogs.com/timsheng/archive/2012/06/12/2546957.html 通过研究selenium-webdriver的源码,笔者发现其...

最简单的解释 webdriver的工作原理

selenium1的原理就是使用js来驱动浏览器,因为现在基本不用,所以不做过多讨论,下面是我整理的webdriver的工作原理,大致就是通过命令请求webdriver,然后webdriver通过浏览...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

python爬虫(上)--请求——关于模拟浏览器方法

前言离上一篇更新的博文应该过了挺久的了( python爬虫(上)–请求——关于旅游网站的酒店评论爬取(传参方法)),因为中间考完试紧接着就去实习的缘故,然后到新环境各种熟悉什么的,所以后面有所学到的东...

WebDriver入门及提高

第一次接触Selenium 的WebDriver,是在一个Web项目中。该项目使用它来进行功能性测试。当我看到Firefox中的页面内容被一个个自动填充并且自动跳转的时候,感觉真的很神奇。通过这段时间...

轻松自动化---selenium-webdriver(python) (五)---层级定位

本节要解决的问题: 层级定位   场景:   假如两个控件,他们长的一模样,还都叫“张三”,唯一的不同是一个在北京,一个在上海,那我们就可以通过,他们的城市,区,街道,来找到他们。    ...

webdriver实现原理

看了一些webdriver实现原理的资料,通过下面这张图片总结一下: 实体是client端,remote server端,client端即我们的自动化脚本可以通过driver启动一个浏览器作为rem...
  • tea_wu
  • tea_wu
  • 2013年01月17日 18:08
  • 3387
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:webdriver工作原理-体验webdriver发送http的过程
举报原因:
原因补充:

(最多只允许输入30个字)