首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS自动化探索(二)WDA API的使用

iOS自动化探索(二)WDA API的使用

作者头像
周希
发布2019-10-15 14:57:36
1.5K0
发布2019-10-15 14:57:36
举报
文章被收录于专栏:APP自动化测试APP自动化测试

前面我们已经安装好了WebdriverAgent, 现在可以用Facebook官方提供的API来进行一些操作

WDA API官方页面:

https://github.com/facebook/WebDriverAgent/wiki/Queries

如果在终端运行的话可以使用curl来调用API,需要搭配json_header + device_url + api组成,其中

json_header一般是: "Content-Type: application/json"

device_url一般是: http://localhost:8100/*

下面我们试试调用这些API

功能: 查询可服务状态(Checking Service Status)

API: curl -X GET $JSON_HEADER $DEVICE_URL/status

使用示范:

Jackeys-MacBook-Pro:~ jackey$ curl -X GET -H "Content-Type: application/json" -d "" http://localhost:8100/status
{
  "value" : {
    "state" : "success",
    "os" : {
      "name" : "iOS",
      "version" : "11.2.1"
    },
    "ios" : {
      "simulatorVersion" : "11.2.1",
      "ip" : "192.168.1.5"
    },
    "build" : {
      "time" : "Dec 25 2018 11:48:43"
    }
  },
  "sessionId" : "FB941AE9-551D-437E-A376-191DDDB354FB",
  "status" : 0
}Jackeys-MacBook-Pro:~ jackey$ 
功能:打开会话并开启APP(Session handling)

API: curl -X POST $JSON_HEADER -d "{\"desiredCapabilities\":{\"bundleId\":\"com.apple.mobilesafari\"}}" $DEVICE_URL/session

使用示范:

Jackeys-MacBook-Pro:~ jackey$ curl -XPOST -H "Content-Type: application/json" -d "{\"desiredCapabilities\":{\"bundleId\":\"NOVA.ProductDemo\"}}" http://localhost:8100/session
{
  "value" : {
    "sessionId" : "C7844276-1CB0-4165-9621-65B9B1E10E64",
    "capabilities" : {
      "device" : "iphone",
      "browserName" : "ProductDemo",
      "sdkVersion" : "11.2.1",
      "CFBundleIdentifier" : "NOVA.ProductDemo"
    }
  },
  "sessionId" : "C7844276-1CB0-4165-9621-65B9B1E10E64",
  "status" : 0
}Jackeys-MacBook-Pro:~ jackey$ 
功能:查询当前会话(Querying current session)

API: curl -X GET $JSON_HEADER $DEVICE_URL/session/$SESSION_ID

使用示范:

Jackeys-MacBook-Pro:~ jackey$ curl -X GET -H "Content-Type: application/json" -d "" http://localhost:800/session/C7844276-1CB0-4165-9621-65B9B1E10E64
{
  "value" : {
    "sessionId" : "C7844276-1CB0-4165-9621-65B9B1E10E64",
    "capabilities" : {
      "device" : "iphone",
      "browserName" : "ProductDemo",
      "sdkVersion" : "11.2.1",
      "CFBundleIdentifier" : "NOVA.ProductDemo"
    }
  },
  "sessionId" : "C7844276-1CB0-4165-9621-65B9B1E10E64",
  "status" : 0
}Jackeys-MacBook-Pro:~ jackey$ 
功能:关闭会话并关闭程序(Removing session and kill application)

API: curl -X DELETE $JSON_HEADER $DEVICE_URL/session/$SESSION_ID

使用范例:

Jackeys-MacBook-Pro:~ jackey$ curl -X DELETE -H "Content-Type: application/json" -d "" http://localhos:8100/session/C7844276-1CB0-4165-9621-65B9B1E10E64
{
  "value" : {

  },
  "sessionId" : "406A1A5B-0164-4DA2-BFD9-051155F8B4B2",
  "status" : 0
}Jackeys-MacBook-Pro:~ jackey$ 
功能:打开inspector

API: $DEVICE_URL/inspector

使用范例:

http://localhost:8100/inspector
功能:返回home screen

API: curl -X POST $JSON_HEADER -d "" $DEVICE_URL/wda/homescreen

使用范例:

Jackeys-MacBook-Pro:~ jackey$ curl -X POST -H "Content-Type: application/json" -d“” http://localhost:8100/wda/homescreen
{
  "value" : "Error Domain=com.facebook.WebDriverAgent Code=1 \"Timeout waiting until SpringBoard is visible\" UserInfo={NSLocalizedDescription=Timeout waiting until SpringBoard is visible}",
  "sessionId" : "967066CF-E504-4DAA-B18D-86A0EF0AD53A",
  "status" : 13
}Jackeys-MacBook-Pro:~ jackey$ 
功能:指定时间后退出app

 API: curl -X POST $JSON_HEADER -d "{\"duration\":3}" $DEVICE_URL/session/$SESSION_ID/wda/deactivateApp
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档