协议:一种标准,用于定义通过网络交换数据的方法。 如果浏览器要与服务器通信,则必须创建一个HTTP请求并将该HTTP请求发送到服务器以传达其资源和选项请求。服务器接收请求并对其进行处理,并进行必要的操作,并创建HTTP响应以发送到浏览器。浏览器在创建HTTP请求时必须遵循HTTP规范。服务器还必须遵循HTTP规范来创建HTTP响应。这是浏览器和服务器之间以标准方式进行通信的方式,从而通过遵循HTTP协议来避免冲突。
Json Wire Protocol :客户端具有必须发送到服务器的对象。客户端将此对象转换为JSON对象,并将其发送到服务器。服务器解析JSON对象,并将其转换回对象以供使用。服务器将响应对象转换为JSON对象,然后将其发送回客户端。然后,客户端将JSON对象转换为要使用的对象。
为什么将后者称为 Json Wire Protocol ?
答案 0 :(得分:1)
您对 Protocol 和 JsonWireProtocol 都非常正确。在这一点上,值得一提的是,与浏览器或RemoteWebDriver服务器通信的WebDriver的所有早期实现都应使用通用的有线协议。该有线协议使用HTTP上的RESTful web service定义了JSON。
JSON Wire Protocol是关于如何将自动化行为(例如单击或键入或您实际上想对自动化脚本执行的操作)如何映射到硒或appium或HTTP请求和响应的抽象规范。该协议将假定WebDriver API已被“扁平化”,但是期望客户端实现将采用更加面向对象的方法,如现有Java API所示。有线协议是在“命令”和“响应”的请求/响应对中实现的。
JSON(JavaScript对象表示法)是一种轻量级格式,用于客户端和服务器之间的数据交换。应用程序使用JSON对象在网络世界之间相互发送和接收数据。 JSON数据结构是行业标准,可用于以Key & Value pair的形式发送和接收数据。有人说它是XML的非常好的替代品。我们可以将JSON文件保存为.json扩展名。
一个简单的json文件如下所示,其中有许多online editors可用于编辑和验证JSON结构。
{
"Student":{
"FirstName":"Pawan",
"LastName":"Garia",
"IdNumber":"12345",
"City" : "New Delhi",
"EmailID" : "email@gmail.com" }
}
实施客户服务器架构可以为我们带来以下好处。
因此,客户端-服务器的实现需要事先准备一套标准的规范,以便服务器和客户端应根据请求和响应的来龙去脉相互保持同步。就像是彼此交流的语言。因此,我们需要一些通用的规范来解决这种要求,而解决方案就是HTTP。
HTTP是Web的标准,可以作为规范的良好基础。每个programming language都有一个很好的HTTP库,可用于为请求和响应调用创建客户端和服务器。
HTTP请求和响应通常由GET和POST请求组成,因此不在本讨论范围之内。
从硒的角度来看, JSON Wire Protocol 现在已过时,而WebDriver W3C Living Document是新的实现。