2018年9月30日 星期日

Java Develop Coder 開始 PHP Test Coder 的生活_2018/9/28 Day 19

目前需求開發一支可以控制 HTML5 Canvans 遊戲的機器人,現在的構想是用 Selenium 來控制網頁元件,以驗收測試為基礎來寫。

👉解析API傳回的JSON字串

首先,需要先進入遊戲,為了節省登入的步驟,所以以呼叫API的方式來進入遊戲。呼叫後傳回格式如下:

{
  "data": {
    "url": "https://h5c.cqgame.games/1/?token=da05d84ab17d2ed4f184d2f7axxxxxxxx&language=zh-CN"
  },
  "status": {
    "code": 0,
    "message": "success",
    "timestamp": 1038106999
  }
}

裡面的 url 就是進入遊戲的入口,將它擷取放入測試之前的步驟。接下來就要用 PHP 裡跟 JSON 有關的函式。首先利用 file_get_contents() 將 JSON 字串取回來,再利用 json_decode() 解碼。

// 處理 ssl 造成的錯誤
$stream_opts = [
            "ssl" => [
                "verify_peer"=>false,
                "verify_peer_name"=>false,
            ]
];

// 取回 API 返回內容
$data = file_get_contents($this::$api_url, false, stream_context_create($stream_opts));

// JSON解碼,取得 url
$game_url = json_decode($data, true)['data']['url'];

接著就可以前往遊戲畫面。

👉Ubuntu Command

reboot 重開機