我想通過their API發送PUT
請求更新Saucelabs的作業。但是,下面的代碼掛起,我不知道爲什麼。通過HttpClient發送PUT請求到Saucelabs沒有響應
using (var client = new HttpClient())
{
var sessionId = Browser.Driver.GetSessionId();
var uri = new Uri($"https://saucelabs.com/rest/v1/{Configuration.SauceUserName}/jobs/{sessionId}");
var uriWithCred =
new UriBuilder(uri)
{
UserName = $"{Configuration.SauceUserName}",
Password = $"{Configuration.SauceAccessKey}"
}.Uri;
var payload = new StringContent($"{{\"name\":\"{TestMethodName}\"}}", Encoding.UTF8, "application/json");
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = uriWithCred,
Content = payload
};
var response = client.SendAsync(request).Result;
}
以下cUrl請求成功(當然是編輯憑據)。
curl -X PUT -s -u <username>:<access-key>
-d "{\"name\": \"test name\"}"
https://saucelabs.com/rest/v1/<username>/jobs/<job-id>
爲什麼這個請求掛起,我能做些什麼,使之成功?
由於與問題無關的原因,在設置WebDriver的功能時,我無法設置作業的名稱。
假設它掛在等待響應,你用菲德勒(或任何其他工具)對你的代碼比較兩個請求的報頭(VS cUrl作者? – yonisha