1

我在 .NET 中使用 C# 构建了一个网页,在 VS 2012 Premium 中工作。我记录了一些编码的 UI 测试。其中一个包含一个控件,该控件最初是隐藏的,但它从另一个保持特定值的控件变为可见和活动。当我播放它时,它失败并出现错误:无法对隐藏字段执行 setproperty。

有没有人有任何解决方法我如何录制或播放这个?

提前致谢。

4

3 回答 3

0

.Net 4.5 HiddenField.Value 属性中有一个属性。继承层次结构就像

       System.Object 
       System.Web.UI.Control
       System.Web.UI.WebControls.HiddenField

C# 语法将是

   public virtual string Value { get; set;}

ASP.NET

   <asp:HiddenField Value="String"/>

您可以使用 Value 属性来指定 HiddenField 控件的值。

于 2013-11-11T15:48:50.367 回答
0

这是一个常见的用例,无论该字段是隐藏还是禁用并等待另一个操作来更改状态。问题是确定字段发生了什么变化,它不存在吗?它没有屏幕点吗?它不可见吗?是不是没有启用?一旦确定可以继续

我会这样处理它:

            var field = new HtmlTextArea();


           if(field.WaitForControlReady(100)) //checks for control ready until waittime hit
               {
                 field.Text="Insert text here";
               }
            else
               {
                    Assert.Fail(String.Format( "Control not found in {0} seconds.", timeout*100));
               }

请将此代码仅用作指南,它是在我喝咖啡之前用一只脚站立创建的 :)

于 2013-11-12T17:05:28.360 回答
0

尝试在条件下使用 control.BoundingRectangle.Height > 0 并查看控件是否出现。

或者

使用 control.EnsureClickable()

然后使用 control.GetProperty("Value") 获取值

谢谢, 卡提克 KK

于 2013-11-20T07:09:13.997 回答