标签: coded-ui-tests

访问 XCUIElement 中的最后一个元素

在我的 UI 测试中,我有这个XCUIElement

XCUIApplication().staticTexts["SUBMIT ORDER"]

当我打印 debugDescription 时:

po print(XCUIApplication().staticTexts["SUBMIT ORDER"].debugDescription)

有两个元素匹配:

Find: Elements matching predicate '"SUBMIT ORDER" IN identifiers'
      Output: {
        StaticText, {{0.0, 623.0}, {375.0, 44.0}}, label: 'SUBMIT ORDER'
        StaticText, {{0.0, 623.0}, {375.0, 44.0}}, label: 'SUBMIT ORDER'
      }
Run Code Online (Sandbox Code Playgroud)

.tap()我的问题是:我怎样才能只在最后一个元素上制作 a ?

xcode coded-ui-tests swift xcuitest

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

如何使用编码的UI测试执行自己的断言

我正在使用visual studio 2010编码的测试.

我希望能够比目前能够表现更多.

例如,如果特定字段"AreEqual"或"包含"等我可以断言,但我想做更多.

例如,我想检查该字段是否包含其中的数值.我编辑了UIMap.Designer.cs并且能够实现我想要的.

唯一的问题是在添加新测试时会覆盖此文件.

所以我的问题是我怎样才能"弄清楚"用户界面中的字段/咒语并在其上实现我自己的断言?

谢谢

c# testing visual-studio-2010 coded-ui-tests

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

当我在编码的UI测试中更新UIMap时,UIMap.Designer.cs文件会覆盖我的代码

当我使用Coded UI测试记录"Login Scenario"的测试方法时,它会生成这样的代码

生成的代码

        public void LoginMethod()
    {
        #region Variable Declarations
        WinEdit uIItemEdit = this.UIDiagnosoftVIRTUEWindow.UIItemWindow.UIItemEdit;
        WinEdit uIItemEdit1 = this.UIDiagnosoftVIRTUEWindow.UIItemWindow1.UIItemEdit;
        WinComboBox uIItemComboBox = this.UIDiagnosoftVIRTUEWindow.UIItemWindow2.UIItemComboBox;
        WinButton uIConnectButton = this.UIDiagnosoftVIRTUEWindow.UIConnectWindow.UIConnectButton;
        #endregion

        // Type 'username' in 'Unknown Name' text box
        uIItemEdit.Text = this.LoginMethodParams.UIItemEditText;



        // Type '********' in 'Unknown Name' text box
        Keyboard.SendKeys(uIItemEdit1, this.LoginMethodParams.UIItemEditSendKeys1, true);

        // Select 'facility' in 'Unknown Name' combo box
        uIItemComboBox.SelectedItem = this.LoginMethodParams.UIItemComboBoxSelectedItem;

        // Click 'Connect' button
        Mouse.Click(uIConnectButton, new Point(64, 14));
    }
Run Code Online (Sandbox Code Playgroud)

我更新此代码以允许数据驱动源,CSV文件,其中包含用户名,密码,....这里是更新的代码

更新的代码

      public void LoginMethod(string username,string password,string facility)
       {
        #region …
Run Code Online (Sandbox Code Playgroud)

automation coded-ui-tests

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

通过自动化测试用例进行CodedUI测试的好处(通过动作记录)

Coded UI的唯一目的是执行自动功能测试,不需要人工交互.我们可以在TFS中管理一个TestCase列表,我们可以在使用MTM(Microsoft Test Manager)运行测试用例时记录用户操作.在我们发现构建更改后,这些自动记录的操作也可以重复多次.

我已经提到了一些文章,建议生成一个Coded UI TestMethod,从Testcase的Recorded动作或它们(Associate Automation)到TestCase.例如:

http://msdn.microsoft.com/en-us/library/dd286652.aspx

我无法理解同时使用自动编码UI测试和同一TestCase的记录操作的优势?我必须错过一个目标,在我进一步行动之前,我必须知道这个目标.

我知道在将它转换为Coded UI testmethod之后我们可以进一步添加断言数.但这是使用Coded UI,Action录制的唯一优势吗?

有什么建议?

关心Sumeet

testing automation automated-tests coded-ui-tests tfs2012

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

编码的UI构建服务器集成过程

我们希望在我们的构建服务器中集成一个自动功能测试解决方案(使用SpecFlow和Coded UI开发).

该项目看起来像这样:

  • AUT是一个WPF应用程序
  • 开发人员正在使用Visual Studio 2010 Professional
  • 自动化测试人员使用Visual Studio 2012 Premium加入了该项目(编码UI测试需要VS Premium)
  • Visual Studio 2010 Professional安装在构建服务器上
  • 詹金斯被使用
  • 为开发配置VM,测试人员将使用第二个VM

有人可以帮我构建服务器集成过程吗?这样做的主要步骤是什么?我们是否需要将构建服务器上的VS版本升级到2012 Premium?还有其他一些解决方案/解决方法吗?

注意:我是集成,构建服务器配置等方面的新手.

谢谢,

build-process automated-tests build-server coded-ui-tests specflow

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

如何保持断言失败数据

我正在使用VS2013/CodedUI,在我的[TestMethod]中我声明如下:

Assert.IsTrue(String.Equals(logo.GetModifiedBy(), "Vendor2"));
Run Code Online (Sandbox Code Playgroud)

这在我的测试用例中如预期的那样失败,但输出中的消息如下所示,有没有办法报告用于比较的数据?我搜索但没有找到太多

Message: Assert.IsTrue failed
Run Code Online (Sandbox Code Playgroud)

c# mstest coded-ui-tests

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

我们可以在C#中向TestInitialize发送参数吗?

我正在使用CodedUI进行自动化测试.当我使用两个应用程序时,假设A和B.需要在每个测试用例的执行开始时启动.所以我把它放在TestInitialize中.所以我从TestInitialize调用一个函数并发送参数,即应用程序A的位置.但是,如果有不同版本的应用程序,我想将参数发送到TestInitialize.

我现在的守则是

[TestInitialize()]
public void MyTestInitialize()
{
    App_Launch(@"C:\Emulator\App_Version1\Launch_App.exe");
}
Run Code Online (Sandbox Code Playgroud)

有diff应用程序版本所以如果我必须启动App_Version2然后我必须更改硬编码的参数中的文件夹名称.

如果我想要以下内容怎么办?

[TestInitialize()]
public void MyTestInitialize(string Path)
{
    App_Launch(@Path);
}
Run Code Online (Sandbox Code Playgroud)

将路径发送到TestInitialize

c# coded-ui-tests

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

如何在MSVS 2010中的CodedUITest中实现AssemblyInitialize/AssemblyCleanup?

我试图在我的Microsoft Visual Studio 2010中实现AssemblyInitialize/AssemblyCleanup属性,其目的与此处所述的完全相同.该链接甚至描述了我需要遵循的实现代码的过程.

这个目的的快速摘要是创建一个初始代码块,它将在任何测试之前运行,无论我在解决方案中运行哪个codedUITests,然后是在最后一个codedUITest完成之后运行的代码块.示例:我需要打开一个特定的应用程序,然后运行一系列的encodeUITests,它们都从该应用程序开始,以任何顺序执行,然后在一切完成后关闭应用程序; 这比为每个codedUITest打开/关闭应用程序更有效.

我不明白的是我需要将代码放在该页面底部(也在下面显示).我把所有代码都放在我的'公共部分类UIMap'之下并且代码运行,除了它在每个CodedUITest之前/之后运行'OpenApplication'和'CloseApplication'命令,而不是将整个CodedUITests组合在一起.

如何正确实现代码?

更新:

我昨晚发现了AssemblyI/C,我花了3个小时试图找出放置代码的位置,以便它可以工作.如果我将AssemblyInitialize放在特定测试方法的开头,那么:

1)它仍然无法运行 - 它给了我一些错误,说UIMap.OpenWindow()和UIMap.CloseWindow()方法需要是静态的,我无法弄清楚如何使它们静态.

2)具有AssemblyI/C的特定[TestMethod]是否需要在测试集中?在我的情况下,我有十几个CodedUITests需要单独运行或在更大的组中运行,我需要让AssemblyI/C打开/关闭我正在测试的窗口.

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

0
推荐指数
1
解决办法
9037
查看次数

手动更改编码的ui测试

我在我的网站上使用VS2012.我想记录方法和断言,然后根据我的需要手动更改它们.我尝试了这个并添加了属性和变量并更改了方法的内容并且工作正常,但后来我尝试记录另一个方法并生成代码 - 它删除了我所做的一切,因为它与UI映射不匹配.有没有正确的方法呢?

c# coded-ui-tests web visual-studio-2012

0
推荐指数
1
解决办法
2125
查看次数

为什么一些.NET方法写在括号中?

我是编程新手,这可能是一个非常基本的问题,但我想知道[括号]中放置的项目,例如[TestMethod]和[CodedUITest],以及它们在.NET中的作用.为什么这些方法是以这种方式编写的?

谢谢

.net c# coded-ui-tests

0
推荐指数
1
解决办法
197
查看次数

简单 - 如何使用编码的 UI 从 WPF 组合框中选择项目

我曾为 Web 应用程序使用过编码 UI,但这是我第一次尝试将编码 UI 用于 WPF。我想从组合框中单击一个项目但是,我无法在 WPF 中实现相同的目标。我试图遍历组合框内的项目,但没有奏效。尝试使用搜索属性 - 没有结果。此外,试图找出 AutomationElement 的东西,但无法获得解决方案。如果我能了解实现要求所需遵循的方法,那就太好了。

我已经捕获了控件并想使用它们。没有录音和回放。

wpf wpf-controls coded-ui-tests

0
推荐指数
1
解决办法
4092
查看次数

将CodedUI测试升级到VS 2015

我已经从VS 2013更新到VS 2015,TFS 2013更新到TFS 2015和.NET 4.5.2到.NET 4.6.1.

现在我遇到了我的编码UI测试没有运行的问题.问题是Microsoft不支持使用TFS 2015的测试代理和测试控制器.他们建议在使用TFS 2015运行编码的UI测试时使用Agents for VS 2013 Update 5(请参阅此处此处).

我为每个测试得到的错误是:

单元测试适配器引发异常:无法加载文件或程序集'Microsoft.VisualStudio.QualityTools.CodedUITestFramework,Version = 14.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一.该系统找不到指定的文件..

测试代理程序上可用的版本为12.0.0.0(由Agents for VS 2013 Update 5提供).

我有一个运行VS 2015的构建控制器,它在编译期间具有所需的程序集.在我的测试代理上,这些程序集不可用,因为我无法安装VS 2015的代理.原因是不支持并行安装Agent for VS 2013和Agents for VS 2015 [我自己试过这个 - 它不起作用].

这里建议扩展App.config.这种方法对我来说不起作用(无论是使用asm.v1还是使用asm.v2).

在我的*.csproj文件中,所有引用都列出了特定的version = false.

我还尝试复制程序集(复制local = true)并将它们添加为部署项目,但这是一个永无止境的程序集列表....

我有什么想法可以解决这个问题吗?

谢谢

coded-ui-tests visual-studio-2015 tfs-2015

0
推荐指数
1
解决办法
1619
查看次数

使用视图模型或编码ui测试进行单元测试

目前我想改进测试用例.由于我们已经使用MVVM切换到WPF,我正在考虑编写单元测试以使用视图模型(测试视图模型)或更好地使用编码的ui测试.有什么选择,或者正在测试两种方式?目前我找不到任何实际的答案,也许有人有一个直截了当的答案.

谢谢!

c# wpf unit-testing mvvm coded-ui-tests

-2
推荐指数
1
解决办法
402
查看次数