远程服务器上的简单编码UI登录测试

时间:2015-01-12 09:34:37

标签: visual-studio-2013 coded-ui-tests

我使用Microsoft测试管理器为登录页面(非本地托管)创建测试并记录下来。所有步骤都没有错误地执行。

  • 然后我在Visual Studio 2013中创建了一个Coded UI测试项目。
  • 我在现有录音中添加了Coded UI测试。
  • 我参加了测试,收到了以下信息:
用户名字段

"FailedToPerformActionOnHiddenControlException: Cannot perform 'SetProperty of Text with value "

我在使用现有录制时收到此消息,但是如果我在Visual Studio中使用录制功能录制的话。

有人有使用编码UI测试的经验,并且可能会举例说明如何进行设置。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您基本上是在尝试让Coded UI将值输入到HtmlInput控件中,该控件是网页上的文本框。错误消息"FailedToPerformActionOnHiddenControlException: Cannot perform 'SetProperty of Text with value"通常意味着您尝试提交的值无法由控件执行,因为某个值未被接受(例如,数值为一个名称字段)或因为它比字段可以接受的字符多。也可能是录制没有正确定义对象,并且属性Text不是找到的控件上的选项。

所以,确认这三件事:

1.您要发送值的控件实际上是一个HtmlInput。您不能将Text属性发送到例如`HtmlDiv`。

2.您提交的值是您的控件的有效值(例如,您并未尝试将数字提交到不接受它们的字段中)。

3.您提交的价值在该字段的长度限制范围内。

如果我是博彩人,我会说你可能没有正确定义对象。首先查看相关控件的SearchProperties,确保它与页面本身的HTML匹配。

答案 1 :(得分:0)

我是否需要为其他服务器上的测试设置标准环境。 我在开发环境的工作空间中开发Coded UI测试项目,但我需要在接受环境中运行测试(记录的测试在接受环境中执行)。

我读过它很容易设置这个环境,但最佳做法是什么? 在同一环境中执行它会更好吗?

以下是代码段:

        [TestMethod]
    public void TestLogonToAccount()
    {
        // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items.
        this.UIMap.Enterusername();
        this.UIMap.Enterpassword();
        this.UIMap.Clickonlogin();
        this.UIMap.ClickonCentral();
        this.UIMap.Searchforemailaddress();
        this.UIMap.Clickonlogin1();
    }

我忘记了有关MTM登录录制测试的重要部分。 我只是尝试再次播放这些步骤并得到了这个错误:

Playback of the selected sections of the action recording could not be completed The playback failed to find the control with the
     

给出搜索属性。其他细节:TechnologyName:'MSAA'   名称:''ClassName:'MozillaWindowClass'ControlType:'Window'