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。

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

相关文章推荐

【Jenkins系列之二】利用Jenkins+Github进行自动化测试的步骤

上一篇文章中,我们已经搭建了jenkins的持续集成环境,本文将指导我们如何利用jenkins进行自动化构建。 新建JOB 在Jenkins首页点击“新建”,进入到新建JOB的页面。这里我们先选择“构...

利用Lucene.net对附件做搜索

#region 利用com组件读取office    ///     /// 判断文件是否存在    ///   ...

使用pytest+requests进行接口测试实践——测试post请求

还是以Jenkins接口测试为例,Jenkins提供了“禁用”和“启用”job的接口,这个接口的方法是POST方法。我们就以这个接口为例。 我们先点击任何一个job,比如“PythonRun”这个jo...

揭秘webdriver实现原理

用webdriver4个月之久,平时也大概了解了一些webdriver操作浏览器的原理,这篇文章总结的不错,转载分享给大家。 揭秘webdriver实现原理 通过研究sel...
  • tea_wu
  • tea_wu
  • 2013-01-17 17:35
  • 1484

【Git学习笔记】安装 SSH keys for Gitbash

安装完git,在windows中启动“Git Bash”程序。

【Jenkins系列之一】Jenkins持续集成环境搭建完全指南

Jenkins是一个持续集成服务器,能够代替人进行很多复杂枯燥重复性的工作,是一个优秀的自动化构建工具。 安装 下载地址:http://jenkins-ci.org/,选择Windows的native...

selenium及webdriver的原理

selenium与webdriver整合后,形成的新的测试工具叫做selenium2.x。在selenium1时间,selenium使用javascript来达到测试自动化的目标。 1. selen...

揭秘webdriver实现原理

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

selenium 拦截网站数据,爬虫处理js

((RemoteWebDriver) driver).executeScript( "window.getJSON=$.getJSON;$.getJSON=function(){ window...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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