我正在尝试自动化编码的UI测试.
我的测试控制器在远程测试服务器上启动测试,我通常通过远程桌面连接访问它.
是否可以运行Coded UI测试而无需通过远程桌面连接?
目前,测试仅在我通过远程桌面连接时运行,并且窗口必须打开.当我关闭远程桌面会话时,测试不会运行.
如果在没有远程桌面的情况下无法运行编码的UI测试,我如何通过远程桌面自动连接?
谢谢
Visual Studio中是否有键盘快捷键(目前使用2013)来打开Windows文件浏览器中的解决方案(或项目)?
目前,我通常需要打开解决方案资源管理器,右键单击我的解决方案或项目,然后向下滚动到"在文件资源管理器中打开文件夹",但这会成为一项耗时的任务,因为我必须经常这样做(TortoiseGit not not与我的IDE集成).
我有一个ASP.NET Web API 2.0应用程序,我已连接到一个Ionic应用程序,它使用我的API进行登录,注册等.
我正在使用基于令牌的身份验证,以便当用户注册帐户并登录时,他们将被授予访问令牌,该令牌在每个后续请求的标头中传递并用于对用户进行身份验证.这很好.
现在,我希望允许用户通过登录Facebook或Google等社交帐户来注册帐户.
目前,我正在尝试集成Google身份验证,因此在我的Startup.Auth.cs文件中,我启用了它,如下所示:
app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions
{
ClientId = "###",
ClientSecret = "###",
});
Run Code Online (Sandbox Code Playgroud)
我也有标准的AccountController方法,所以从我的Ionic应用程序,我能够向'RegisterExternal'方法发出GET请求,如下所示:
/api/Account/ExternalLogin?provider=Google&response_type=token&client_id=self&redirect_uri=###
Run Code Online (Sandbox Code Playgroud)
据我了解,此方法返回一个重定向URI,我应该导航到我的应用程序中以允许用户登录.我想我会在我的应用程序中打开一个新窗口以允许用户输入他们的详细信息?
但是,我不认为这是我想采取的方法.对于大多数应用程序,这些天我可以简单地按下"使用Google登录"按钮,它可以完成所有魔法,无需重定向或输入任何信息.
我正在看看Cordova GooglePlus插件,这似乎是我需要的,因为它允许用户登录客户端.成功回调还会返回以下内容:
obj.email // 'eddyverbruggen@gmail.com'
obj.userId // user id
obj.displayName // 'Eddy Verbruggen'
obj.familyName // 'Verbruggen'
obj.givenName // 'Eddy'
obj.imageUrl // 'http://link-to-my-profilepic.google.com'
obj.idToken // idToken that can be exchanged to verify user identity.
obj.serverAuthCode // Auth code that can be exchanged for an access token and refresh token for offline access
obj.accessToken // OAuth2 access token
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,我是否可以使用此信息传递给我的ASP.NET服务的帐户服务来验证用户并为他们创建一个帐户(如果他们还没有)? …
asp.net google-authentication asp.net-web-api cordova ionic-framework
在我的系统中,我在Ticks中存储一个持续时间,这个持续时间被传递给我的客户端移动应用程序,并且从那里我想将ticks转换为人类可读的形式.在我的情况下,天,小时和分钟.
我的客户端移动应用程序是使用Javascript编码的,所以这就是我用来将持续时间转换为天/小时/分钟的方法.
我有一个ASP.NET MVC 4 Web应用程序.在本地运行,它工作正常,但在Web主机(使用共享主机)上,登录用户经常被重定向回主页注销.在大多数情况下,用户仅在执行少量操作后才会注销.
网络主机建议我的应用程序可能耗尽了太多的内存,但我用一个程序来分析内存使用情况,我确认它没有使用过多的内存 - 实际上应用程序似乎使用了分配的一小部分网络主机上的内存.
以下是使用的登录方法:
public static Boolean Login(string Username, string Password, bool persistCookie = false)
{
bool success = Membership.ValidateUser(Username, Password);
if (success)
{
FormsAuthentication.SetAuthCookie(Username, persistCookie);
}
return success;
}
Run Code Online (Sandbox Code Playgroud)
在我的Web主机中,表单身份验证超时设置为60分钟,因此这不应该是一个问题,对吧?
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="60" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
并且我的会话状态超时值也设置为60分钟:
<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="60">
Run Code Online (Sandbox Code Playgroud)
基于这里的答案,我也添加了这一行,似乎没有解决问题:
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps"></machineKey>
Run Code Online (Sandbox Code Playgroud)
对问题可能是什么以及我可以做些什么来解决问题的任何想法?
asp.net-mvc asp.net-membership shared-hosting membership-provider asp.net-mvc-4
我正在考虑使用VS2012 RC来编写编码的UI测试(因为VS2010 SP2 FP2并不完全支持IE9).
目前,我的测试项目包含在与我们的TFS团队项目相关的解决方案中.我还设置了一个构建定义来在签入新代码时构建项目(构建在我们的构建机器上执行).
我想如果我将我的解决方案升级到VS2012,那么为了能够在构建机器上构建解决方案,我也需要安装VS2012 RC,对吧?但是,有可能在我的构建定义中指定我的项目由VS2012而不是VS2010构建吗?
我是否可以在使用TFS2010的同时使用VS2012升级我的项目?我应该注意到我的解决方案将是唯一升级到VS2012的解决方案.公司的所有其他解决方案仍然需要由VS2010构建.我想,至少在几个月内,公司范围内升级到VS2012将不会到位.
或者我需要单独的构建机器或任何东西?
任何想法,想法或解决方案赞赏!
更新:所以我试了一下,一切都运转正常.我唯一的问题是在我的构建机器上重新构建后,我编写的UI测试没有工作,但我想这可能是我需要在其他地方询问的内容.为了澄清,解决方案成功构建,但测试仍然失败.
我的代码已将Qr代码的图像生成到.NET Bitmap对象中。在页面上按下按钮时,将调用生成此代码的代码,如下所示:
public ActionResult GenerateQrCode()
{
Bitmap qrCodeImage = Generate();
return RedirectToAction("QrCodeGenerator");
}
Run Code Online (Sandbox Code Playgroud)
这是MVC控制器中用于页面的方法。
当按下按钮时,将生成图像,然后我们导航回到页面。
因此,从这里开始,我需要采取什么步骤将此位图图像输出到我的网页(.cshtml文件)。请记住,我正在使用ASP.NET MVC。
我在网上看到的一件事是人们将图像保存到“ Response.OutputStream”中。我不太确定这是否与ASP.NET MVC有关。
谢谢
我下载并安装了最新版本的Visual Studio Ionic 2模板,用于Apache Cordova的Visual Studio Tools.我使用的是Visual Studio 2017 Professional.
令我沮丧的是,我发现Cordova的实时重载功能根本不起作用.当我修改HTML时,Cordova Simulate反映这些变化的唯一方法是停止调试并重新部署项目,这需要花费大量时间并使开发工作流程变得非常痛苦.
只要有多个离子项目正在进行,就会出现另一个问题.我发现因为Ionic正在使用相同的端口进行部署,所以当其中一个项目启动时,启动的应用程序会对我要求的应用程序感到困惑,并且经常会显示其他应用而不是我想要的应用.
有任何想法吗?
我的 ASP.NET Web API 控制器之一。我的客户端应用程序返回以下错误:
对预检请求的响应未通过访问控制检查:“Access-Control-Allow-Origin”标头包含多个值“*、*”,但只允许使用一个。因此,不允许访问来源“ http://localhost:8100 ”。
我认识到发生此错误是因为标头包含多个值。当通过 Chrome 调用 API 时,我可以在“响应标头”中看到这一点,如下所示:
HTTP/1.1 200 好
缓存控制:无缓存
内容长度:0
服务器:微软-IIS/8.0
访问控制允许方法:GET、POST
访问控制允许来源:*
访问控制允许标头:内容类型、接受、编译指示、缓存控制、授权
访问控制最大年龄:1728000
X-Powered-By: ASP.NET
访问控制允许来源:*
访问控制允许方法:GET、POST、OPTIONS、PUT、DELETE
访问控制允许标头:来源、X-Requested-With、内容类型、接受、授权
设置 Cookie: ARRAffinity=ef9b3770b61f10f9696b0dedcb39a7f47a83c0e4d6cdbf367f3149482592ef06;Path=/;HttpOnly;Domain=seirse.azurewebsites.net
正如您所看到的,它显然出现了两次。
我遇到的问题是,我启用 CORS 的唯一位置是通过应用程序中的 web.config,例如
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept, Authorization" />
</customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)
我已经 100% 确定我没有通过 Startup.cs 或在控制器中启用 CORS。
据我所知,控制器没有什么异常:
// GET: api/Address/all
[HttpGet]
public AddressResultModel All()
{
try
{
var userId = …
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的简单表单,它使用了 @Html.EditorFor 扩展名:
<form method="post">
@Html.EditorFor(x => x.SystemSettings.EmailFromAddress)
<submit-button title="Save"></submit-button>
</form>
Run Code Online (Sandbox Code Playgroud)
我想利用 .NET Core 的标签助手,让我的表单看起来像这样:
<form method="post">
<editor asp-for="SystemSettings.EmailFromAddress"/>
<submit-button title="Save"></submit-button>
</form>
Run Code Online (Sandbox Code Playgroud)
我最终也想拥有自己的自定义标签助手,这样我就可以做这样的事情:
<text-box asp-for="SystemSettings.EmailFromAddress"></text-box>
Run Code Online (Sandbox Code Playgroud)
我有一个由 @Html.EditorFor 扩展呈现的字符串模板:
@model string
<div class="form-group">
<label asp-for="@Model" class="m-b-none"></label>
<span asp-description-for="@Model" class="help-block m-b-none small m-t-none"></span>
<div class="input-group">
<input asp-for="@Model" class="form-control" />
<partial name="_ValidationIcon" />
</div>
<span asp-validation-for="@Model" class="validation-message"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
为此,我看到有人实现了一个EditorTagHelper,它看起来像这样:
[HtmlTargetElement("editor", TagStructure = TagStructure.WithoutEndTag,
Attributes = ForAttributeName)]
public class EditorTagHelper : TagHelper
{
private readonly IHtmlHelper _htmlHelper;
private const string …
Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×3
c# ×3
.net ×2
asp.net ×2
.net-4.0 ×1
asp.net-core ×1
autofac ×1
cordova ×1
cors ×1
datetime ×1
ionic2 ×1
javascript ×1
tag-helpers ×1
tfs ×1
tfs2010 ×1
tfs2012 ×1