Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#通过一个带有用户凭证回传检查的网站实现自动化_C#_Javascript_Asp.net Mvc_Automation - Fatal编程技术网

c#通过一个带有用户凭证回传检查的网站实现自动化

c#通过一个带有用户凭证回传检查的网站实现自动化,c#,javascript,asp.net-mvc,automation,C#,Javascript,Asp.net Mvc,Automation,我目前正在考虑改变我们的一个小部件的工作方式,因为它不能像现在这样扩展 我会给你一点背景知识,然后试着解释我是如何努力改进它的: 我有一个小部件,允许用户输入用户名和密码,在提交时,信息被发送到MSMQ并发送到我的应用程序,该应用程序与CEFSharp一起工作(我使用WatIN,但CEFSharo基于chrome,因此我遇到的问题较少)应用程序接收信息,并通过零售商站点自动将商品添加到用户购物篮中,然后注销。通过再次从MSMQ发回的网站(小部件)上的一系列勾号,用户将知道产品是否已成功放入复选框

我目前正在考虑改变我们的一个小部件的工作方式,因为它不能像现在这样扩展

我会给你一点背景知识,然后试着解释我是如何努力改进它的:

我有一个小部件,允许用户输入用户名和密码,在提交时,信息被发送到MSMQ并发送到我的应用程序,该应用程序与CEFSharp一起工作(我使用WatIN,但CEFSharo基于chrome,因此我遇到的问题较少)应用程序接收信息,并通过零售商站点自动将商品添加到用户购物篮中,然后注销。通过再次从MSMQ发回的网站(小部件)上的一系列勾号,用户将知道产品是否已成功放入复选框

我面临的问题如下:

如果有10个(或更多!)用户同时将产品添加到购物篮中,我需要打开10个应用程序来执行自动化操作,否则第十个用户可能要等待很长时间才能成功添加到购物篮中。 MSMQ依靠域控制器发送和接收信息。 自动化本身需要很长时间。 目前的解决方案可能过于复杂

因此,我想知道是否有人有任何建议或可以发布一些链接到一个更简单更可扩展的方式来实现我的需要,如下所示:

用户提交的信息:

1.  Retailer
2.  Username
3.  Password
4.  Product deeplink
5.  Quantity
自动化步骤

a)  Go to site login page
b)  Enter username
c)  Enter password
d)  Click submit
e)  Check successful (User sees Secure sign in check box ticked)
f)  Go to product page (using deeplink)
g)  Check successful (User sees Locating this product checkbox checked)
h)  Select quantity
i)  Add to basket
j)  Check if successful (User sees Add product to basket checkbox checked)
k)  Log out
l)  Check successful (User sees Log out and forget details successful)
编辑

为了让这一点更清楚(我认为),我真正想要删除的是代码中的MSMQ部分,它目前执行以下操作:

在单独的服务器上(在我的例子中是域控制器),MSMQ接收包含以下信息的消息并将其发送到另一台服务器:

 Retailer User page login
 Users Username
 User Password
 Product URL
 Quantity user want to add
在另一台服务器上,MSMQ正在侦听消息,并在收到消息时启动自动化。在自动化中的某些点上,会创建一条消息,说明用户是否成功,该消息会发送回域控制器,并被用户视为勾号或叉号

我希望这是有道理的


如果您能就此提供任何指导,我将不胜感激,因为我一直无法确定该怎么做。

是否有办法使用API而不是直接进入零售商的网站?您的msmq任务实际上是一个异步过程,但您似乎试图以同步方式使用它。您可以删除它&用wcf服务替换处理消息的东西。你可以直接从你的应用程序中调用它。@SimonHalsey我将明确地研究它作为一个选项感谢它的价值,WCF仍然可以使用MSMQ,因此如果这很重要,消息仍然可以通过MSMQ传播。好处是你的应用程序不再依赖MSMQ。查看WCF持久消息传递