您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
轻松自动化---selenium-webdriver(python) (十四)
作者:网络转载 发布时间:[ 2013/9/16 10:02:59 ] 推荐标签:

  之前看乙醇视频中提到,selenium 的ruby 实现有一个小后门,在代码中加上$DEBUG=1 ,再运行脚本的过程中,可以看到客户端请求的信息与服务器端返回的数据;觉得这个功能很强大,可以帮助理解webdriver的运行原理。

  后来查了半天,python并没有提供这样一个方便的后门,不过我们可以通过代理的方式获得这些交互信息;

  一、需要安装java 虚拟机与selenium-server-standalone ,参考 《selenium + python自动化测试环境搭建》第7、8操作:

  二、通过下面命令启动服务:

  C:selenium>java -jar selenium-server-standalone-2.33.0.jar

  在命令结尾加 >d:log.txt 可以将命令信息存入文件,但信息很少。

  然后运行下面的自动化脚本:

  #coding = utf-8

  import time
  from selenium import webdriver
  from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

  driver = webdriver.Remote(desired_capabilities=DesiredCapabilities.CHROME)
  driver.get("http://www.youdao.com")
  driver.find_element_by_name("q").send_keys("hello")
  driver.find_element_by_name("q").send_keys("key.ENTER")

  driver.close()

  webdriver原理:

  1. WebDriver 启动目标浏览器,并绑定到指定端口。该启动的浏览器实例,做为web driver的remote server。

  2. Client 端通过CommandExcuter 发送HTTPRequest 给remote server 的侦听端口(通信协议: the webriver wire protocol)

  3. Remote server 需要依赖原生的浏览器组件(如:IEDriver.dll,chromedriver.exe),来转化转化浏览器的native调用。

  查看命令提示符下的运行日志:

  咋一看很乱,慢慢分析一下发现很有意思!结合上面的脚本分析

  启动代理进入监听状态

  C:selenium>java -jar selenium-server-standalone-2.33.0.jar
  八月 22, 2013 10:19:48 上午 org.openqa.grid.selenium.GridLauncher main
  INFO: Launching a standalone server
  10:19:48.734 INFO - Java: Oracle Corporation 23.21-b01
  10:19:48.734 INFO - OS: Windows XP 5.1 x86
  10:19:48.734 INFO - v2.33.0, with Core v2.33.0. Built from revision 4e90c97
  10:19:48.843 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
  10:19:48.843 INFO - Version Jetty/5.1.x
  10:19:48.843 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
  /driver]
  10:19:48.843 INFO - Started HttpContext[/selenium-server,/selenium-server]
  10:19:48.843 INFO - Started HttpContext[/,/]
  10:19:48.890 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@176343e
  10:19:48.890 INFO - Started HttpContext[/wd,/wd]
  10:19:48.906 INFO - Started SocketListener on 0.0.0.0:4444
  10:19:48.906 INFO - Started org.openqa.jetty.jetty.Server@388c74

上一页1234下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd