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

上一篇 / 下一篇  2015-11-18 21:05:08 / 天气: 冷 / 心情: 平静 / 个人分类:自动化测试

     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。



TAG: http 原理 webdriver

 

评分:0

我来说两句

Open Toolbar