编码的用户界面 - 无法找到菜单项

时间:2013-11-13 07:10:55

标签: c# firefox visual-studio-2012 internet-explorer-10 coded-ui-tests

我的任务是了解Visual Studio的Coded UI测试“实用程序”,以及为自动化目的自学C#。我们运行一个基于Web的程序,我对菜单项和屏幕都很困难。我生成一个新脚本:
1.登录申请书 2.浏览菜单并选择一个帐户
我似乎无法通过登录屏幕,我可以让它将用户名部分放入,但是当我想要添加密码时,测试失败(下面的错误)。尝试单击菜单项时出现同样的问题。当我使用靶心来帮助识别菜单项时,我们已经确定许多菜单项看起来像下面的图像:
enter image description here

在Firefox,Chrome和IE之间(哦,我的.... IE很糟糕),他们的行为有所不同。我的C#知识非常有限,我根本无法使其工作。任何意见都将不胜感激!

ERROR:

  

{“无法执行'带有值的文本的SetProperty \”User1 \“'   控制。其他详细信息:\ r \ nTechnologyName:'MSAA'\ r \ n名称:   '请输入您的用户名,密码和密码;然后单击   登录按钮。如果您尚未注册并需要有关的信息   该服务请联系我们获取更多信息。   '\ r \ n控制类型:'编辑'\ r \ n“}

1 个答案:

答案 0 :(得分:0)

编码的UI就是成功识别您想要与之交互的对象。您可以直接在.uitest文件的后半部分对这些对象进行编码,也可以通过右键单击地图视图中的对象并更改SearchProperties属性集合来更改已记录/自动生成的对象的搜索属性。这将为您更改.designer.cs文件的代码。您可以找到许多此herehere的示例。我的猜测是,录制的指定对象过于强烈(通常使用内部文本值或其他可在运行时动态设置的值,这意味着测试运行者第二次无法找到它)。

关于密码输入,很多时候您需要将值作为加密文本输入。您可以设置object.Passwordobject.Text。如果您设置object.Password并且您输入的字符串未加密,则需要Playback.EncryptText(unencryptedString)。否则,您应该只能将文本的值设置为该字符串。