编码的UI测试播放。正在选择和使用错误的控件

时间:2016-01-21 19:58:02

标签: winforms coded-ui-tests cuite

我正在尝试设计一个简单的Coded UI测试,它可以访问以下两个函数。目前它们是用CUITe框架编写的,但在使用Coded UI代码时我也看到了同样的问题。

我有一个测试用例,首先调用GLJEEnterDescription,然后调用GLJEEnterNotes。测试运行时,将操纵GLJEEnterDescription并将输入函数的两个字符串输入其中。 GLJEEnterNotes中没有输入任何内容。我已经检查并重新检查,控件的属性是正确的。

两个控件之间的唯一区别是GLJEEnterDescription是标准单行文本框,GLJEEnterNotes是自定义(源自标准)多行文本框。有关为什么我无法访问和使用GLJEEnterNotes文本框而不是GLJEEnterDescription文本框的想法?下面是我从Coded UI测试中调用的函数:

 public void GLJEEnterDescription(string JEDescription)
 {
    akwindow.Find<WinEdit>(By.ControlName("txtJEDescription")).Text = JEDescription;
 }

 public void GLJEEnterNotes(string JENotes)
 {
    akwindow.Find<WinEdit>(By.ControlName("txtMultiJENotes")).Text = JENotes;
 }

1 个答案:

答案 0 :(得分:0)

您最有可能需要为这些控件指定更多搜索条件。

理想情况下,我建议您尝试使用控件ID甚至AutomationID来控制控件。这些是搜索算法的 HIGHEST 优先级 就像This帖子

一样
var textBox = new WinEdit(yourAppWindow);
textBox.SearchProperties.Add(WinEdit.PropertyNames.Name, "txtMultiJENotes");
textBox.SearchProperties.Add(WinEdit.PropertyNames.LineCount, "1");

否则您可能必须使用FindMatchingControls并循环每个控件以获得所需的正确内容。