标签: coded-ui-tests

Specflow和Visual Studio 2010编码的UI测试集成

有没有办法将Visual Studio 2010 Coded UI Test与Specflow集成?我不确定这两个是否能以某种方式挂钩.

我有这个想法,通过使用一些Coded UI API(我还不知道是什么)创建一个数据驱动的编码UI测试,并将其连接到Specflow.我必须重新审视去年的Specflow视频,看看所有人是如何融合在一起的,我会很感激一些投入,想法.

这与创建Specflow的单元测试提供程序有关,如下所示(自VS 2010中的Coded UI工作):MsTest.2010 .Net 4.0的MsTest版本.支持测试类别.

unitTestProvider(generatorProvider和generatorProvider)会是那个连接吗?

或者只是这两个不会混合,是竞争或不同的方式进行集成或验收测试.Coded UI测试实际上接近于通过selenium运行Specflow进行UI自动化测试,还有为您生成代码的额外好处.

我只想获得编码UI测试的好处(在设计和运行时最大化其功能)和Specflow(再次设计和运行时)

(有关Microsoft网站上的更多信息)创建数据驱动的编码UI测试 http://msdn.microsoft.com/en-us/library/ee624082(VS.100).aspx

使用Visual Studio Premium或Visual Studio Ultimate,您可以创建编码的UI测试,以测试应用程序的用户界面(UI)是否正常运行.编码的UI测试对应用程序的用户界面控件执行操作,并验证指定的控件是否显示正确的值.有关如何创建编码的UI测试的更多信息,请参见如何:创建编码的UI测试.

使用指定数据创建编码的UI测试后,您可能希望使用不同的数据集多次运行编码的UI测试以测试不同的条件.为此,您可以从数据源添加参数值以创建数据驱动的编码UI测试.数据源中的每一行都是编码的UI测试的迭代.测试的总体结果将基于所有迭代的结果.例如,如果一次测试迭代失败,则整体测试结果失败.

有关数据驱动测试的更多常规信息,请参见如何:创建数据驱动单元测试.(http://msdn.microsoft.com/en-us/library/ms182527.aspx)

谢谢,Rad

integrate visual-studio coded-ui-tests specflow

5
推荐指数
0
解决办法
3411
查看次数

CodedUI:为什么搜索单元格这么慢?

我在Winform应用程序中有一个网格(FlexGrid,来自ComponentOne),我试图在该网格中找到一个单元格,给定单元格的列索引及其值.

我已经编写了下面的扩展方法来遍历网格并找到该单元格.

我正在一个有6列64行的网格上测试该方法.我的代码花了10分钟才找到正确的单元格(位于最后一行)

有什么方法可以加快我的算法速度吗?

注意:我也尝试将PlayBack.PlayBackSetting.SmartMatchOption设置为TopLevelWindow,但它似乎没有改变任何东西......

谢谢!

    public static WinCell FindCellByColumnAndValue(this WinTable table, int colIndex, string strCellValue)
    {

        int count = table.GetChildren().Count;
        for (int rowIndex = 0; rowIndex < count; rowIndex++)
        {
            WinRow row = new WinRow(table);
            WinCell cell = new WinCell(row);
            row.SearchProperties.Add(WinRow.PropertyNames.RowIndex, rowIndex.ToString());
            cell.SearchProperties.Add(WinCell.PropertyNames.ColumnIndex, colIndex.ToString());

            cell.SearchProperties.Add(WinCell.PropertyNames.Value, strCellValue);
            if (cell.Exists)
                return cell;
        }

        return new WinCell();
    }
Run Code Online (Sandbox Code Playgroud)

编辑

我将我的方法修改为如下(例如我不再使用winrow),这似乎快了大约3倍.虽然它仍然需要7秒才能找到一个包含3行和6列的表中的单元格,所以它仍然很慢......

我会将这个答案标记为后来被接受,以便留出时间让其他人提出更好的建议

    public static WinCell FindCellByColumnAndValue(this WinTable table, int colIndex, string strCellValue, bool searchHeader = false)
    {
        Playback.PlaybackSettings.SmartMatchOptions = Microsoft.VisualStudio.TestTools.UITest.Extension.SmartMatchOptions.None;   
        int count = …
Run Code Online (Sandbox Code Playgroud)

c# performance visual-studio-2010 winforms coded-ui-tests

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

具有自动/编码UI测试的第三方WPF套件

我的团队正在积极地进入一个新项目,我们正抓住机会让自己了解最新的Scrum方法,新技术等.部分原因是尝试使用Microsoft Test Manager和VS2010 Coded UI测试自动化我们的QA流程.

但是,我们在使用我们当前选择的WPF控件库DevExpress XPF套件时无法使用自动测试回放.我们多年来一直在使用DevExpress来实现他们的WinForms和ASP.NET控件,但这是我们第一次使用他们的WPF控件和自动UI测试,这两者似乎并不能很好地协同工作.

特别是,尝试回放与网格控件交互的记录测试永远不会正常工作,即使在简单的控件上,回放似乎也会混淆应该与哪个编辑器进行交互.在动作录音中,我们的测试线是从MTM产生的,我看到了很多这样的:

Type '5236' in 'PART_Editor' text box
Type '253' in 'PART_Editor' text box
Run Code Online (Sandbox Code Playgroud)

更糟糕的是,在网格内部:

Click 'FooterPanel' pane 
Last action on list item was not recorded because the control does not have any good identification property.
Click 'FooterPanel' pane
Click 'Item: CashEntry, Column ...' custom control 
Move 'Item: CashEntry, Column ...' custom control from (141,     10) to 'Item: CashEntry, Column ...' custom control (5, 11) 
Type '{NumPad8}{Down}{NumPad5}{NumPad0}{Up}{Down}{Down}' in 'CashEntry' window
Run Code Online (Sandbox Code Playgroud)

现在,我在DevX的论坛上看到很多关于他们的WinForms控件不能很好地支持MSAA编码UI测试工作的喋喋不休,但我认为WPF使用了一种不同的自动UI测试机制,应该可以更好地工作.所以,我的问题是:

  1. 有没有办法让DevX XPF控件更好地与编码/自动UI测试一起工作?
  2. 如果没有,是否有一个替代的XPF控制套件,已知可以很好地与编码/自动UI测试? …

wpf automated-tests devexpress coded-ui-tests microsoft-test-manager

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

如何运行Coded UI Test认为没有活动远程会话的TFS CI?

我在使用没有远程会话的Team Foundation Server(TFS)持续集成(CI)启动编码UI测试时遇到了问题.我已经遵循了http://msdn.microsoft.com/en-us/library/dd293551.aspx中提到的所有建议,但这仍然需要一个活动的远程会话.建议是以交互模式设置测试代理并构建服务.

是否有远程运行Coded UI Test的变通方法?

PS我们的测试机器上安装了Windows 7.

任何帮助都会:)

tfs continuous-integration mstest visual-studio-2010 coded-ui-tests

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

从独立应用程序执行编码的UI测试

我发现了一些关于如何使用mstest实用程序执行代码UI测试的博客文章,但我需要从我的C#应用​​程序执行它们.我尝试了最简单的事情:我创建了一个控制台应用程序,添加了对它的引用

  • Microsoft.VisualStudio.TestTools.UITest.Logging.dll
  • Microsoft.VisualStudio.TestTools.UITest.Playback.dll
  • Microsoft.VisualStudio.TestTools.UITesting.dll

我尝试从我的应用程序调用UI测试方法.我收到以下错误:

The following is not a valid technology name: MSAA. To search for a control, you must specify a valid technology name.
Run Code Online (Sandbox Code Playgroud)

我尝试引用与UI测试相关的其他程序集,但错误保持不变.也许我应该添加到App.config以便能够运行测试?

c# coded-ui-tests

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

编码的UI测试向下投射不工作

我一直在尝试将泛型引入我们的自动化代码,所以我试图将WpfControl转换为泛型类型T,其中T被约束为WpfControl类型.

return control as T;
Run Code Online (Sandbox Code Playgroud)

T将始终是WpfControl的子代,但是当我将类型为WpfControl的控件转换为泛型类型时,它返回null.我还尝试将控制转换为确切的子类型,例如:

var childControl = control as WpfTabList;
Run Code Online (Sandbox Code Playgroud)

这仍然会回来null.有人遇到过类似的问题吗?

请参阅此WpfControl类

c# automation coded-ui-tests

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

Visual Studio将bin文件添加到项目中

环境:VS 2010. TFS.

对于我的一个项目,每当我编译时,VS都会在我的项目中添加一个bin文件夹.我可以删除它,但是当我编译时,它会被重新添加.这是我以前没有见过的行为,在解决方案的其他项目中不存在.请参阅下面的图片了解更多详情.

Bin文件被添加到ASI项目中.

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

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

将参数传递给使用MSTest.exe从命令行运行的编码UI测试

我有一个CodedUiTest,它有几种测试方法.每次我通过MSTest从命令行执行测试时,我希望能够将不同的路径传递给测试.我怎样才能做到这一点?

这就是我现在执行测试的方式:

{
    System.Diagnostics.Process codedUIProcess = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo codedUIStartInfo = new System.Diagnostics.ProcessStartInfo();

    codedUIStartInfo.FileName = @"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe";
    codedUIStartInfo.Arguments = @"/testcontainer:C:\DailyBuildAutoTest.dll /test:MyUITestAssembly\MyCodedUITest";
    codedUIStartInfo.CreateNoWindow = true;

    codedUIProcess.StartInfo = codedUIStartInfo;

    codedUIProcess.Start();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将字符串之类的参数传递给"MyCodedUITest"?

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

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

在C#Coded UI中有一种等待控件可点击的方法

在编码的ui中,有一种等待控件存在的方法UITestControl.WaitForControlExist(waitTime);.有没有办法等待控件不存在?我能想到的最好的方法是创建一个像这样的扩展方法:

public static bool WaitForControlClickable(this UITestControl control, int waitTime = 10000)
    {
        Point p;
        Stopwatch stopwatch = new Stopwatch();
        stopwatch.Start();
        while (stopwatch.ElapsedMilliseconds < waitTime)
        {
            if (control.TryGetClickablePoint(out p))
            {
                return true;
            }
            Thread.Sleep(500);
        }
        return control.TryGetClickablePoint(out p);
    }
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?此外,我正在寻找一种相反的方法.

c# coded-ui-tests

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

检查Android Espresso框架中的DatePicker日历值

我有一个带有两个DatePicker控件和一些文本输入和按钮的活动.我想通过espresso测试一些场景:

  1. 将日期设置为第一个DatePicker.
  2. 设置一些文本和单击按钮,触发我的业务逻辑并将日期设置为秒DatePicker.
  3. 检查秒的日期DatePicker.

第三步我想做点什么onView(withId(R.id.end_date_picker)).check(matches(withText("25-01-2017")));.我可以使用什么代替withText检查DatePicker日历/日期值?谢谢你的帮助.

android datepicker coded-ui-tests android-espresso

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