Преобразование запроса Browserstack restSharp cURL PUT

Я пытаюсь преобразовать следующую команду cURL в С# с помощью restSharp, чтобы я мог отметить, что мои автоматизированные тесты Browserstack пройдены или не пройдены.

curl -u "user:password" -X PUT -H "Content-Type: application/json" -d "{\"status\":\"<new-status>\", \"reason\":\"<reason text>\"}" https://www.browserstack.com/automate/sessions/<session-id>.json

Обратите внимание, что я очень новичок в C #. У меня есть следующий код, который в настоящее время возвращает пустой ответ json, я знаю, что нахожусь на правильном пути, поскольку изменение метода запроса на POST возвращает детали (как и ожидалось) для моего сеанса/теста:

    private string markTestPassedorFail(string sesID)

    {
        var Client = new RestClient();
        var Request = new RestRequest();
        string sResponse = "";  
        Client.BaseUrl = new Uri(CapConf.BROWSERSTACK_SESSIONS_URL);
        Client.Authenticator = new HttpBasicAuthenticator(CapConf.BROWSERSTACK_USER_NAME, CapConf.BROWSERSTACK_KEY_PASS);
        Request.Resource = sesID + ".json";
        Request.Method = Method.PUT;
        Request.AddHeader("Content-Type", "application/json");
        Request.AddJsonBody("{\"status\":\"failed\", \"reason\":\"failed\"}");
        try
        {

            IRestResponse response = Client.Execute(Request);
            sResponse = response.Content;

        }
        catch (Exception ex)
        {
            Console.WriteLine("Error Marking Test Passed or Fail : \n" +  ex.Message); 
        }

        return sResponse;
    }

person Sean McCann    schedule 14.12.2016    source источник


Ответы (1)


Пробовали ли вы пример фрагмента кода, представленный в их документации здесь - https://www.browserstack.com/automate/c-sharp

Я просто вытащил фрагмент кода и смог настроить пробный тестовый запуск, получить идентификатор сеанса и позже обновить статус сеанса через REST API.

  1. Пример теста — https://www.browserstack.com/automate/c-sharp#getting-started
  2. Идентификатор сеанса — https://www.browserstack.com/automate/c-sharp#session-id
  3. Обновление статуса сеанса через REST API — https://www.browserstack.com/automate/c-sharp#rest-api

См. следующую информацию: https://gist.github.com/ashwingonsalves/56d7724671054bf623081bdcb30d40b8

person Mukesh Tiwari    schedule 15.12.2016