繁体   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