编码的UI复选框检查

时间:2014-04-08 12:11:01

标签: c# user-interface coded-ui-tests

我正在尝试使用以下代码段使用编码的UI工具(C#)检查网页中的两个复选框。

HtmlCheckBox chkVeh = new HtmlCheckBox(BrowserInstance);
chkVeh.SearchProperties.Add(HtmlCheckBox.PropertyNames.Name, "checkbox1");
chkVeh.SearchProperties.Add(HtmlCheckBox.PropertyNames.Value, "Option1");                    
chkVeh.Checked = true;                   

HtmlCheckBox chkVeh1 = new HtmlCheckBox(BrowserInstance);
chkVeh1.SearchProperties.Add(HtmlCheckBox.PropertyNames.Name, "checkbox1");
chkVeh1.SearchProperties.Add(HtmlCheckBox.PropertyNames.Value, "Option2");                   
chkVeh1.Checked = true;

当我执行它时。它检查所需的复选框,但不知何故在转到下一步之前,它再次单击该复选框并取消选中该复选框。最后,我留下了2个未选中的复选框。

例如,检查了Checkbox1 checkbox1未选中 选中Checkbox2 Checkbox2未选中

我正在使用Visual Studio 2012。 这个行为有什么指针吗?

3 个答案:

答案 0 :(得分:0)

我有一个建议执行以下步骤:

  1. 使用录像机
  2. 记录此复选框操作
  3. 保存此功能
  4. 得到了方法的定义 enter image description here
  5. 去控制属性的定义 enter image description here
  6. 复制针对录制生成的整个生成的类 enter image description here
  7. 在单词中粘贴代码使用手工编码脚本中使用的过滤器和搜索参数,可以轻松识别编码UI脚本所需的参数 enter image description here

    1. 我也有一个用法示例 enter image description here

答案 1 :(得分:0)

您可以使用自定义类来查找是否选中了CheckBox。请找到代码:

string PropertyText = UITestControl.GetProperty("Checked").ToString();

如果返回false,请使用mouse.click();

答案 2 :(得分:0)

复选框可能有其他代码,只能通过点击它们来检查它们,或者以用户的方式与它们交互(而不是通过直接更改属性)。如果可以单击这些框,请尝试使用:

chkVeh.EnsureClickable();
Mouse.Click(chkVeh);

并查看是否能解决问题。