2016-12-14 63 views
0

我想将下面的cURL命令转换为C#使用restSharp ,这样我就可以标记我的自动Browserstack测试通过或失败。Browserstack restSharp cURL PUT请求转换

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; 
    } 

回答

0

您是否尝试过的示例代码段在这里他们的文档共享 - https://www.browserstack.com/automate/c-sharp

我只是拉升的代码片段出现的位,并能设置一个样品的测试运行,获取会话ID并稍后提交通过REST API记录会话状态。

  1. 样品测试 - https://www.browserstack.com/automate/c-sharp#getting-started
  2. 会话ID - 通过REST API https://www.browserstack.com/automate/c-sharp#session-id
  3. 会话状态更新 - https://www.browserstack.com/automate/c-sharp#rest-api

请参阅以下要点: https://gist.github.com/ashwingonsalves/56d7724671054bf623081bdcb30d40b8