![](/img/trans.png)
[英]how to run xUnit integration tests written using Restharp and web application at a time in visual studio?
[英]How to integrate a PayPal browser login into Visual Studio Integration tests?
我們正在將PayPal Express Checkout集成到我們的電子商務應用程序中。 運作方式是有一個“網關”,可通過PayPal SDK將網站連接到PayPal服務器。 我正在Visual Studio中為該API編寫集成測試。 使用常規API測試,可以按任何順序鏈接請求並運行測試。 這是典型的Express Checkout集成SetExpressCheckout調用->獲取令牌並使用買方帳戶登錄(在瀏覽器中)的流程->可選的GetExpressCheckout調用-> DoExpressCheckout調用-> DoAuthorize調用-> DoCapture調用
問題是我無法在不中斷測試流程的情況下模擬瀏覽器登錄。 我需要能夠開始測試,讓測試類打開瀏覽器窗口。 我可以在那里登錄並關閉窗口。 現在,我需要測試以檢測瀏覽器是否關閉,然后使用DoExpressCheckout和后續測試進行處理。 能做到嗎?
我搜索了一些工具,但我得到的只是瀏覽器自動化。 它不適用於我,因為目前我還沒有網站可以使用。 我剛從JSON請求發送到我的“網關”。
在@philn給出的答案的基礎上,我為它建立了一個方法。 為了所有人的利益,這里是代碼。
private bool CustomerLogin(string token)
{
Process browserProcess = new Process()
{
EnableRaisingEvents = true
};
bool success = false;
browserProcess.StartInfo = new ProcessStartInfo("iexplore.exe",
"-nomerge https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=" + token);
browserProcess.Exited += browserProcess_Exited;
browserProcess.Start();
browserProcess.WaitForExit();
if (eventHandled) success = true;
return success;
}
//Event handler for browser login
internal void browserProcess_Exited(object sender, EventArgs e)
{
eventHandled = true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.