1. WebDriver原理
WebDriver是按照Server - Client模式设计的。
Server端就是Remote Server,可以是任意的浏览器,当脚本启动浏览器后,该浏览器就是Remote Server,它的职责就是等待Client发送请求并作出响应。
Client端简单说就是测试代码。测试代码中的一些行为,如打开浏览器,跳转到特定的URL等操作以http请求的方式发给被测试浏览器,即Remote Server。Remote Server接收请求,执行响应操作,并在response中返回执行状态、返回值等信息。
WebDriver的工作流程:
- WebDriver启动目标浏览器,并绑定到制定端口。启动的浏览器实例将作为WebDriver的Remote Server。
- Client端通过CommandExcuter发送HTTPRequest给Remote Server的侦听端口(通信协议:the webriver wire protocol)。
- Remote Server需要依赖原生的浏览器组件(如IEDriverServer.exe、chromedriver.exe)来转化浏览器的native调用。
Python提供了logging模块给运行中的应用提供了一个标准的信息输出接口。它提供了basicConfig()方法用于基本信息的定义。开启debug模块,就可以捕捉到客户端向服务器发送的请求。
basicConfig()捕捉到的log信息。需要注意的是,脚本文件名不可用logging.py,否则运行时会报错。(不要问我怎么知道的
o(╥﹏╥)o)
不过,basicConfig()开启的debug模式只能捕捉到客户端向服务器发送的POST请求,二无法获取