1.Selenium RC 工作原理

说明:客户端库文件将命令传递给server。接着server使用selenium-core的javaScript命令传递给浏览器,浏览器会使用自带的javaScript翻译器来执行selenium命令。这意味着测试脚本中的selenium操作和验证将被执行。

*:很多博客写的都很好,基本上可以直接参考学习(http://www.cnblogs.com/fnng/archive/2012/02/01/2335215.html

2.Selenium RC 架构特点

(1)同源规则

在浏览器中打开的不同界面不能相互作用。Selenium Server用来回避这一个问题,让浏览器以为自己在server提供的单一站点上工作。

同源:相同的协议,端口,域名

(2)代理注入

Selenium用来规避同源规则的第一种方法就是代理注入。

Selenium server 像客户端配置的HTTP代理一样工作,位于系统和浏览器之间。

浏览器启动时,使用配置的profile,其中已经设置localhost 4444作为HTTP代理,这就是为什么来自浏览器的HTTP请求都会经过selenium server而且HTTP响应也来自selenium server而非真实的服务器。

(3)提高浏览器权限

高特权模式,它允许浏览器做一些通常不被允许的事情,如XXS。通过该模式,selenium core可以直接带卡待测系统,并读取和操作其中的内容,而不需要通过Selenium RC Server 来传递整个待测系统。

4.Selenium WebDriver工作原理

webdriver使用不同的底层框架,Selenium 遥控器使用JavaScript的Selenium 核嵌入式已经在有一定的局限性的浏览器中。 webdriver直接交互而不与Selenium 远程控制,依赖于服务器上的任何中介的浏览器。

最新文章

  1. [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [二] 基本使用
  2. 纯java配置SpringMVC
  3. mysql密码重置
  4. nginx+uwsgi+django+celery+supervisord环境部署
  5. Visual Studio低版本升级到Visual Studio 2012出现Warning LNK4075
  6. Selenium2学习-007-WebUI自动化实战实例-005-解决 Firefox 版本不兼容:org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary
  7. js(引用类型和setTimeout scope)
  8. c# ICSharpCode.SharpZipLib.Zip实现文件的压缩
  9. linux下遍历目录(转-在于思考)
  10. H264的句法和语法总结(一)分层结构
  11. 部署K2 Blackpearl流程时出错(与基础事务管理器的通信失败或Communication with the underlying transaction manager has failed.
  12. C++STL之整理算法
  13. 【SPOJ 2319】 BIGSEQ - Sequence (数位DP+高精度)
  14. 【二分答案】【POJ3122】【Northwestern Europe 2006】Pie
  15. jQuery笔记(1)
  16. Python之基础练习代码
  17. confirm提示弹出确定和取消按钮
  18. Kafka Consumer API样例
  19. nginx负载均衡的5种策略
  20. [LeetCode] 721. Accounts Merge_Medium tag: DFS recursive

热门文章

  1. javascript自我测试题
  2. bzoj 2597 剪刀石头布 —— 拆边费用流
  3. 3 K8s安裝ELK+filebeat
  4. VisualGDB系列7:使用VS创建Linux静态库和动态库
  5. Python-Redis的String操作
  6. springMVC绑定json参数之二(2.1)
  7. Asp.net 实现只能允许一个账号同时只能在一个地方登录
  8. MQTT,XMPP,STOMP,AMQP,WAMP适用范围优缺点比较
  9. 面试题: redis面试题 有用 redis详细
  10. ubuntu上runsv/runit小记