簡體   English   中英

如何將PayPal瀏覽器登錄信息集成到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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM