| | 21 | selenium 提供了两种实现自动化测试的方法,分别是: selenium webdriver 和 selenium RC |
| | 22 | [[BR]] |
| | 23 | selenium RC由两部分组成: |
| | 24 | a,selenium Server: 主要控制浏览器行为,总的来说,selenium server由三部分组成:launcher,http proxy,selenium core |
| | 25 | 其中selenium core是在selenium server启动浏览器时,嵌入到浏览器中的。selenium core是一堆javascript函数的集合,当selenium rc通过网络与 |
| | 26 | selenium server通讯时,seleniumserver解析客户端请求为selenese command然后就会调用相应的js函数来控制浏览器操作。 |
| | 27 | b,selenium libraries:写测试案例时主要控制selenium server库,客户端提供了编程接口,允许你可以通过编程运行selenium命令, |
| | 28 | client libraries为每一种编程语言提供了selenium RC服务器通讯的编程接口。一个selenium客户端类库时间上是提供一套函数集合, |
| | 29 | 你可以通过运行你的测试程序来运行selenium command,类库中的每一个接口都是和selenium command对应的 |
| | 30 | 客户端类库通过发送一个selenium command与selenium server通讯,从而使被测应用程序执行相应的操作。客户端类库收到selenium command命令返回结果, |
| | 31 | 并把结果返回给应用程序并赋值给相应的便利。 |
| | 32 | |
| | 33 | seleniumRC 存在一些缺点,不能处理 本机键盘和鼠标事件,同源策略XSS/HTTP,也不能处理弹出框,对话框(基本身份认证,自签名的证书和文件上传/下载) |
| | 34 | [[BR]] |
| | 35 | |
| | 36 | selenium webdriver弥补selenium RC的不足, |
| | 37 | |
| | 38 | [[BR]] |
| | 39 | WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native support来操作浏览器。所以对于不同平台,不同的浏览器,必须依赖一个特定的浏览器的native component来实现把WebDriver API的调用转化为浏览器的native invoke。 |