标签: coded-ui-tests

如何在RunSettings文件中访问TestRunParameters

通过https://msdn.microsoft.com/en-us/library/jj635153.aspx阅读 我创建了一个.RunSettings文件,其中包含一些类似于示例的参数:

  <TestRunParameters>
    <Parameter name="webAppUrl" value="http://localhost" />
    <Parameter name="webAppUserName" value="Admin" />
    <Parameter name="webAppPassword" value="Password" />
  </TestRunParameters>
Run Code Online (Sandbox Code Playgroud)

我计划.RunSettings为每个环境提供一个文件,其中包含适当的URL和凭据,用于在指定的RunSettings文件环境中运行CodedUI测试.

我可以看到从命令行引用我可以运行的设置文件:

vstest.console myTestDll.dll /Settings:Local.RunSettings /Logger:trx
vstest.console myTestDll.dll /Settings:QA.RunSettings /Logger:trx
Run Code Online (Sandbox Code Playgroud)

等等...

但我没有看到任何方式来调用如何TestRunParameters在codedUI测试中实际使用from.

我想要做的是设置测试初始化​​程序,使用它TestRunParameters来确定登录的位置以及要使用的凭据.像这样的东西:

[TestInitialize()]
public void MyTestInitialize()
{

    // I'm unsure how to grab the RunSettings.TestRunParameters below
    string entryUrl = ""; // TestRunParameters.webAppUrl
    string userName = ""; // TestRunParameters.webAppUserName
    string password = ""; // TestRunParameters.webAppPassword

    LoginToPage(entryUrl, userName, password);
}

public void LoginToPage(string entryUrl, string …
Run Code Online (Sandbox Code Playgroud)

c# asp.net coded-ui-tests vs-unit-testing-framework runsettings

35
推荐指数
3
解决办法
2万
查看次数

如何在Visual Studio Test Runner中排除某些测试?

我在某些测试中有属性,理想情况下我不想在每个构建上运行.我的大多数测试都是正常的单元测试,我确实希望它们在每个构建上运行.

那么:我如何按类别或项目类型排除测试?

例如,我想排除CodedUItests:

[CodedUITest]
public class SearchViewTests
Run Code Online (Sandbox Code Playgroud)

...或排除给定的测试TestCategory:

[TestMethod]
[TestCategory("Database Integration")]
public void ContactRepositoryGetByIdWithIdExpectCorrectContact()
Run Code Online (Sandbox Code Playgroud)

我特别希望排除编码的UI测试,因为它们会破坏我继续工作的能力,而所有其他测试都会在后台愉快地运行而不会打扰我.

最初这个问题是关于Visual Studio 2012的,所以我更喜欢那个版本以及更高版本的解决方案.

tdd unit-testing visual-studio coded-ui-tests visual-studio-2012

31
推荐指数
3
解决办法
2万
查看次数

为Silverlight 5应用程序添加Coded UI支持时为什么无法加载System.Core?

我遇到以下问题:

尝试添加对Silverlight 5应用程序([MSDN] [1])的编码UI测试的支持.第一步是在Silverlight 5项目中引用程序集Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll.不幸的是,在添加引用之后,项目停止编译时出现了许多类似的错误:

>

 Error  25  Cannot resolve reference assemblies. Please check the reference assemblies. Could not load file or assembly 'System.Core, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) ....\ErrorReportDialog.xaml


Looks like System.Core 5.0.5.0 fails to load, okay, debugging assemblies loading with Fuslogw produces two interesting logs:

First log:

> Assembly Binder Log Entry  (04.03.2013 @ 14:07:49)
The operation was successful.
Bind …
Run Code Online (Sandbox Code Playgroud)

.net c# silverlight ui-automation coded-ui-tests

26
推荐指数
1
解决办法
2896
查看次数

无法加载文件或程序集不支持操作.(HRESULT异常:0x80131515)

当我从一个小型控制台工具通过vstest.console.exe计划任务运行CodedUI Test时,我有时会在不同的PC上看到此错误消息:

错误:无法加载文件或程序集'file:/// C:\ foobar.dll'或其依赖项之一.不支持操作.(HRESULT异常:0x80131515)

为什么/这不受支持?

.net scheduled-tasks coded-ui-tests visual-studio-2012

26
推荐指数
4
解决办法
4万
查看次数

编码的UI测试等待UI线程很慢

我已经在Visual Studio 2013中为我的ASP.NET MVC解决方案添加了编码UI测试.我很惊讶地看到测试的运行速度有多慢; 在测试机器唤醒并开始填写表单字段之前,每个页面都会在那里停留一分钟或更长时间.

经过一些实验(包括关闭SmartMatch),我发现只是打电话

Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.Disabled;
Run Code Online (Sandbox Code Playgroud)

解决了这个问题.但是,正如预期的那样,测试经常失败,因为UI线程尚未准备好让测试机器与表单上的控件进行交互.

调用

Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
Run Code Online (Sandbox Code Playgroud)

如果缓慢,可以使测试可靠地运行.

有什么想法或建议吗?是否有人希望有人能够深入了解WaitForReady机器的魔力?还有其他任何与WaitForReady相关的设置WaitForReadyLevel吗?

visual-studio coded-ui-tests

24
推荐指数
2
解决办法
2万
查看次数

VS 2010编码UI测试 - 启动参考应用程序

每次在我的TFS服务器上运行构建时,我都在使用Visuial Studio的编码UI测试在WPF应用程序上运行自动UI测试.我遇到的问题是根据它刚刚构建的路径动态启动可执行文件,包括配置(x86,x64).

有没有办法在引用的项目中获取可执行文件的路径,以便我可以从我的测试项目中动态启动应用程序?

automated-tests visual-studio-2010 coded-ui-tests

22
推荐指数
1
解决办法
1万
查看次数

在VS2017企业版中创建新的编码UI测试项目的要求

我刚安装了Visual Studio 2017 Enterprise(15.0.26228.4 D15RTWSVC)和.NET Framework 4.6.01055版.我无法将新的编码UI测试项目添加到新解决方案中,因为我无法在"新建项目"对话框中找到该项目类型.我认为这是因为我在安装Visual Studio时没有安装一些可选模块.

我需要安装哪个可选模块才能将新的Coded UI测试项目添加到VS2017 Enterprise的解决方案中?

coded-ui-tests visual-studio-2017

18
推荐指数
1
解决办法
1万
查看次数

是否可以在不必通过远程桌面连接的情况下运行编码的UI测试?

我正在尝试自动化编码的UI测试.

我的测试控制器在远程测试服务器上启动测试,我通常通过远程桌面连接访问它.

是否可以运行Coded UI测试而无需通过远程桌面连接?

目前,测试仅在我通过远程桌面连接时运行,并且窗口必须打开.当我关闭远程桌面会话时,测试不会运行.

如果在没有远程桌面的情况下无法运行编码的UI测试,我如何通过远程桌面自动连接?

谢谢

c# .net-4.0 visual-studio-2010 coded-ui-tests

15
推荐指数
2
解决办法
2万
查看次数

CodedUI测试 - 为整个测试集启动一次浏览器

我正在VS2010中编写一些encodeUI测试来测试Web应用程序.我希望能够在解决方案中为浏览器中的整个测试打开一次浏览器,然后在测试完成后再次关闭它.

我已经尝试AssemblyInitialize了一个方法的属性,我BrowserWindow.Launch在那里,但是当我运行它时它给了我以下异常:

程序集初始化方法OrdersGridTesting.SuiteSetup.Login引发异常.Microsoft.VisualStudio.TestTools.UITest.Extension.TechnologyNotSupportedException:Microsoft.VisualStudio.TestTools.UITest.Extension.TechnologyNotSupportedException:当前不支持浏览器..中止测试执行.

当我把它放入a时TestMethod,同样的代码工作正常,这让我相信这是不可能的.有人可以提出另一种方法吗?如果可能的话,我想要一个不涉及向项目中的每个测试类添加相同代码的方法.

谢谢!

c# unit-testing mstest exception-handling coded-ui-tests

14
推荐指数
1
解决办法
2万
查看次数

编码ui测试项目,获取asp标签的价值

在webforms中创建了一个简单的计算器应用程序.用户在文本字段中输入一个数字,MainContent_numberTb然后单击结果按钮.

在我的解决方案中添加了一个新的"编码UI测试项目".通过添加'5'测试了UI,这一切都很好.现在想将实际结果与预期结果进行比较.

BrowserWindow Browser = BrowserWindow.Launch("http://url");

UITestControl UiInputField = new UITestControl(Browser);
UiInputField.TechnologyName = "Web";
UiInputField.SearchProperties.Add("ControlType", "Edit");
UiInputField.SearchProperties.Add("Id", "MainContent_numberTb");

//Populate input field
Keyboard.SendKeys(UiInputField, "5");

//Results Button
UITestControl ResultsBtn = new UITestControl(Browser);
ResultsBtn.TechnologyName = "Web";
ResultsBtn.SearchProperties.Add("ControlType", "Button");
ResultsBtn.SearchProperties.Add("Id", "MainContent_calBtn");

Mouse.Click(ResultsBtn);
Run Code Online (Sandbox Code Playgroud)

以上所有代码都可以正常工作,尝试访问标签时会出现问题

<asp:Label ID="AllNumLbl_Res" runat="server"></asp:Label>
Run Code Online (Sandbox Code Playgroud)

我在控件类型旁插入什么?它不是编辑,因为编辑是文本字段.那么,什么存储实际结果,所以我可以比较AllNumsTB

string expectedAllNums = "1, 2, 3, 4, 5";
UITestControl AllNumsTB = new UITestControl(Browser);
AllNumsTB.TechnologyName = "Web";
AllNumsTB.SearchProperties.Add("ControlType", "?????");
AllNumsTB.SearchProperties.Add("Id", "MainContent_AllNumLbl_Res");

if(expectedAllNums != AllNumsTB.??????)
{
    Assert.Fail("Wrong Answer");
}
Run Code Online (Sandbox Code Playgroud)

UPDATE OK所以使用调试器控制台我能够获得标签的值((Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlSpan)new System.Collections.ArrayList.ArrayListDebugView(((System.Collections.CollectionBase)(AllNumsTB.FindMatchingControls()).List).InnerList).Items[0]).DisplayText

但是当我在代码中使用它ArrayListDebugView …

c# asp.net coded-ui-tests

13
推荐指数
1
解决办法
608
查看次数