[英]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.