Selenium1.0工作原理

  selenium是web自动化测试工具。

  首先介绍selenium IDE,selenium IDE:是FireFox的插件,能够录制脚本和回放脚本。

  Selenium1.0最受欢迎技术是:Selenium RC(Selenium Remote Control),Selenium RC 允许开发人员使用自己喜欢的语言编写测试用例,并可以应用在不同的浏览器。是个http代理程序,在被测的应用和测试脚本之间。Selenium RC同时包含了Selenium Core,所以不需要将Selenium Core安装到服务器端。

  Selenium-Core:是一个JavaScript程序,实际上就是一套JavaScript函数解释和执行Selenese命令使用浏览器内置的JavaScript解释器。

  想详细明白Selenium RC 如何工作和为什么使用Proxy 注入,首先了解同源策略。

  Selenium面临主要限制是同源策略。此安全限制被应用在市场上每一个浏览器,其目的是确保网站的内容将永远不会从其他站点的脚本访问。同源策略决定了浏览器加载任何代码只能在该网站的域范围内运作。例如,打开一个baidu的网页只能执行baidu下的JavaScript脚本,而另外一个tab是google,不能执行baidu下的JavaScript,从而防止对本网页的非法篡改。

  Selenium Core是使用JS实现,所以被同源策略受限制,Selenium RC通过http代理的方式很好的解决了同源策略并欺骗了浏览器。

以下是Selenium-RC工作流程图:

对以上进行说明:

1.和Selenium-RC 服务器建立连接。

2.Selenium-RC服务器启动浏览器(重用旧的浏览器),把Selenium Core 的JS加载入浏览器页面。

3.发送Selenese命令到Selenium服务器。

4.Selenim服务器解析命令,然后触发相应JS执行该命令。Selenium Core指示浏览器执行第一条指令,通常是打开个页面。

5.浏览器收到请求,再把请求发到HTTP Proxy。

6.Http Proxy和Web服务器进行通讯,把http请求发送到Web服务器获取相应内容。

7.RC Server的HTTP Proxy把收到的web页面返回给浏览器。

  

时间: 2024-10-10 02:22:31

Selenium1.0工作原理的相关文章

HTTP1.0工作原理

1.HTTP工作原理 <HTTP响应报文与工作原理详解>讲的比较详细了. 2.示例 (1)server端程序如下: 1 package org.yeyouluo.demo.jsp; 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.IOException; 6 import java.io.InputStreamReader; 7 import java.io.OutputS

Hadoop 2.0工作原理学习

1 HDFS简介 1.1 Hadoop 2.0介绍 Hadoop是Apache的一个分布式系统基础架构,可以为海量数据提供存储和计算.Hadoop 2.0即第二代Hadoop系统,其框架最核心的设计是HDFS.MapReduce和YARN.其中,HDFS为海量数据提供存储,MapReduce用于分布式计算,YARN用于进行资源管理. Hadoop 1.0和Hadoop 2.0的结构对比: Hadoop 2.0的主要改进有: 1.通过YARN实现资源的调度与管理,从而使Hadoop 2.0可以运行

selenium工作原理详解

selenium简介 Selenium是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等. 主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上. 测试系统功能——创建回归测试检验软件功能和用户需求.支持自动录制动作和自动生成 .Net.Java.Per

Android ListView工作原理完全解析(转自 郭霖老师博客)

原文地址:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况.ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了. 另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到

LVS集群之工作原理

  首先我们要了解LVS的工作机制: LVS里Director本身不响应请求,只是接受转发请求到后方,Realservers才是后台真正响应请求. LVS 工作原理基本类似DNAT,又不完全相像,它是一种四层交换,默认情况下通过用户请求的地址和端口来判断用户的请求,从而转发到后台真正提供服务的主机,而判断这种请求的是通过套接字来实现,所以四层就可以实现. 而且这个转发的过程对用户而言是透明的(简单的讲,就是用户访问DR的IP,而DR转发给RSS,而用户不知道这个过程) LVS的工作模式: 1.D

47 监控系统基础及zabbix介绍、zabbix工作原理及安装配置、zabbix on CentOS7、zabbix配置

02    zabbix工作原理及安装配置 配置环境 node1192.168.1.120CentOS6.7 node2192.168.1.121CentOS6.7 1.安装配置zabbix #安装前准备 [[email protected] ~]#yum -y install mysql-server mysq [[email protected] ~]# mysql mysql> CREATE DATABASE zabbix CHARACTER SET utf8; mysql> GRANT

Java虚拟机工作原理详解

原文地址:http://blog.csdn.net/bingduanlbd/article/details/8363734 一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 [java] view plaincopy javac YourClassName.java 此时,你的java代码就被编译成字节码(.class).如果你是在Eclipse IDE或者其他开发工具中,你保存代码

Java HashMap的工作原理(转载)

原文地址:http://www.importnew.com/10620.html 面试的时候经常会遇见诸如:"java中的HashMap是怎么工作的","HashMap的get和put内部的工作原理"这样的问题.本文将用一个简单的例子来解释下HashMap内部的工作原理.首先我们从一个例子开始,而不仅仅是从理论上,这样,有助于更好地理解,然后,我们来看下get和put到底是怎样工作的. 我们来看个非常简单的例子.有一个"国家"(Country)类

???Struts2框架03 session的使用、登录逻辑【session工作原理】

1 登录逻辑 1.1 获取登录数据(例如:用户民.密码) 1.2 在控制层调用业务层来验证数据信息 1.3 登录成功:保存用户信息(服务器用session.浏览器用cookie),跳转到主页满 1.4 登录失败:留在登录页面,并给出错误提示信息 2 什么是session 就是一个会话对象,有服务器创建,目的是为了共享数据(注意:每一个浏览器对应一个session对象) 3 session的工作原理 待更新... 2017年7月3日21:53:09 4 在struts2中获取session对象的方