我使用Microsoft测试管理器为登录页面(非本地托管)创建测试并记录下来。所有步骤都没有错误地执行。
"FailedToPerformActionOnHiddenControlException: Cannot perform 'SetProperty of Text with value "
。
我在使用现有录制时收到此消息,但是如果我在Visual Studio中使用录制功能录制的话。
有人有使用编码UI测试的经验,并且可能会举例说明如何进行设置。
答案 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'