iOS 系統UI自動化測試介紹(5)

發表于:2016-11-15來源:簡書作者:孢子菌點擊數: 標簽:自動化測試
, status : 0 }[MJSONWP] Responding to client with driver.findElements() result : [{ ELEMENT : 1A29AE60-5433-4B52-83F8-B4E2C794972E , type : XCUIElementTypeTextField , label : TextField1 },{ ELEMENT :
,"status":0} [MJSONWP] Responding to client with driver.findElements() result: [{"ELEMENT":"1A29AE60-5433-4B52-83F8-B4E2C794972E","type":"XCUIElementTypeTextField","label":"TextField1"},{"ELEMENT":"575EE2C2-4AFF-4320-B4D0-C30F59410DA9","type":"XCUIElementTypeTextField","label":"TextField2"}] // server ----http----> client [HTTP] <-- POST /wd/hub/session/94f7526c-94ba-4ece-8740-d94bd3d4f50f/elements 200 225 ms - 285

其中
[MJSONWP] 打印的是S內部的處理日志。

[JSONWP Proxy] 打印的是S/D之間的通信日志。

可以看到,Client、Server、Device是通過Http協議通信的,大致流程為:
Client通過http協議,將指定格式的命令發送給server。server調用中間層AppiumDriver解析命令,發送給實際的處理者。實際處理者依據平臺、版本不同而不一樣,這里是XCUITest(iOS)。而Device(iphone、模擬器)和Server的通訊也是通過http協議。

到這里,大家會有疑問了,Server怎么找到對應的Device,他們之間如何通過Http通訊的?這里就要引出WebDriverAgent。它的作用:

WebDriverAgent 在 iOS 端實現了一個 WebDriver server ,借助這個 server 我們可以遠程控制 iOS 設備。
參考

WDA的inspector演示:直接在瀏覽器端打開 http://192.168.0.105:8100/inspector

TextField賦值

再看TextField賦值java代碼elem.sendKeys(String.valueOf(rndNum));的執行步驟

[HTTP] --> POST /wd/hub/session/94f7526c-94ba-4ece-8740-d94bd3d4f50f/element/1A29AE60-5433-4B52-83F8-B4E2C794972E/value {"id":"1A29AE60-5433-4B52-83F8-B4E2C794972E","value":["1"]}

[MJSONWP] Calling AppiumDriver.setValue() with args: [["1"],"1A29AE60-5433-4B52-83F8-B4E2C794972E","94f7526c-94ba-4ece-8740-d94bd3d4f50f"]
[debug] [XCUITest] Executing command 'setValue'

[JSONWP Proxy] Proxying [GET /element/1A29AE60-5433-4B52-83F8-B4E2C794972E/attribute/type] to [GET http://localhost:8100/session/79CBBB84-DB6E-48BA-B79F-91539E1E4708/element/1A29AE60-5433-4B52-83F8-B4E2C794972E/attribute/type] with no body
[JSONWP Proxy] Got response with status 200: "{\n  \"value\" : \"XCUIElementTypeTextField\",\n  \"sessionId\" : \"79CBBB84-DB6E-48BA-B79F-91539E1E4708\",\n  \"status\" : 0\n}"
[debug] [BaseDriver] Set implicit wait to 0ms
[debug] [BaseDriver] Waiting up to 0 ms for condition
[JSONWP Proxy] Proxying [POST /element] to [ 



           

原文轉自:http://www.jianshu.com/p/aae160cb9cc4

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97