BrowserStack.BrowserStack.CreateWorker C# (CSharp) Метод

CreateWorker() публичный Метод

public CreateWorker ( Browser browser, string url, int timeout = 30 ) : Worker
browser Browser
url string
timeout int
Результат Worker
    public Worker CreateWorker(Browser browser, string url, int timeout = 30)
    {
      if (browser == null)
        throw new ArgumentNullException("browser");

      if (string.IsNullOrEmpty(url))
        throw new ArgumentNullException("url");

      using (var client = new WebClient())
      {
        client.Headers.Add("authorization", authToken);

        client.QueryString.Add("os", browser.OsName);
        client.QueryString.Add("os_version", browser.OsVersion);
        client.QueryString.Add("browser", browser.BrowserName);
        client.QueryString.Add("browser_version", browser.BrowserVersion);
        client.QueryString.Add("device", browser.Device);
        client.QueryString.Add("timeout", timeout.ToString());
        client.QueryString.Add("url", HttpUtility.UrlEncode(url));

        var data = client.UploadString(Url + "/worker", string.Empty);

        return new Worker(((JObject)JsonConvert.DeserializeObject(data))["id"].Value<string>(), authToken);
      }
    }

Usage Example

        public async void started(long obj)
        {
            var client = new HttpClient();
            Task<JobClientsNeeded> result =
                await
                client.GetAsync(_testSwarmUrl + @"Api/neededclients/index")
                      .ContinueWith(t => t.Result.Content.ReadAsAsync<JobClientsNeeded>());

            var bs = new BrowserStack.BrowserStack(_username, _password);
            List<Useragent> agentsNeeded =
                bs.Browsers()
                  .Select(b => new Useragent {Browser = b.BrowserName, Version = b.BrowserVersion})
                  .Intersect(result.Result.UserAgents)
                  .ToList();

            foreach (Useragent b in agentsNeeded)
            {
                Console.WriteLine("{0} {1}", b.Browser, b.Version);
                Browser browser =
                    bs.Browsers()
                      .First(f => f.BrowserName == b.Browser && f.BrowserVersion == b.Version && f.OsName == "windows");
                _workers.Add(bs.CreateWorker(browser, result.Result.ClientUrl));
            }
        }