首先, 出于安全原因引入了"同源策略",它确保了来自其他站点的脚本永远无法访问您站点的内容.根据该政策,浏览器中加载的任何代码只能在该网站的域内运行.
-------------------------------------------------- ------------------------------- ------------------- ---------------------------
它做了什么???
同源策略禁止JavaScript代码访问与启动时不同的域中的元素.例如,www.google.com中的HTML代码使用JavaScript程序"testScript.js".该同一来源政策只允许 testScript.js访问 google.com内的网页,例如 google.com/mail,google.com/login或 google.com/signup.但是,它无法访问来自 yahoo.com/search或fbk.com等不同站点的页面,因为它们属于不同的域.
这就是为什么在Selenium RC之前,测试人员需要安装Selenium Core(一个JavaScript程序)的本地副本和包含正在测试的Web应用程序的Web服务器,因此它们属于同一个域.
-------------------------------------------------- -------------------------------------------------- --------------------------------
如何避免???
为了避免使用"同源策略"代理注入方法,在代理注入模式下,Selenium Server充当客户端配置的HTTP代理,它位于浏览器和被测试的应用程序之间,然后在虚构的URL下屏蔽AUT
Selenium使用java脚本来驱动浏览器上的测试; Selenium将自己的js注入到从aut返回的响应中.但是有一个java脚本安全限制(相同的原始策略),只有当js也来自与html相同的域时,才允许你使用js修改页面的html.这种安全限制至关重要,但破坏了Selenium的工作.这是Selenium服务器发挥重要作用的地方.
| 归档时间: |
|
| 查看次数: |
10391 次 |
| 最近记录: |