2016-09-13 3 views
-1

Я пытаюсь найти документ в своем окне, в котором есть богатое текстовое поле с текстом в нем с помощью TestStack White и извлечение этого текста.Как получить доступ к тексту класса Имя RichTextBox

Я попытался использовать ярлык UIItem & TextBox, но, кажется, Белый не может найти объект во время моего теста. Объект можно найти с помощью общего UIItem, но я хочу иметь доступ к тексту, который он хранит.

Я люблю его реализацию:

public [Unsure] MyRichTextBox { get { return Window.Get<[Unsure]>(SearchCriteria.ByClassName("RichTextBox")); } }

, и я хотел бы быть в состоянии сказать:

Assert.That(MyRichTextBox.Text.Equals(x));

Но он не может найти то, что я если я помечаю его как ярлык или текстовое поле, и у меня нет доступа к .Text, если я объявляю его UIItem.

ответ

1

Вы хотите использовать тип TextBox. Затем вы можете использовать BulkText для доступа к тексту в RichEditBox.

Сначала окно:

TestStack.White.UIItems.WindowItems.Window _mainWindow;  
app = TestStack.White.Application.Launch(startInfo); 
_mainWindow = app.GetWindow("MyDialog"); 

Тогда Найти richEditBox:

public string _richeditdocument_ID = "rtbDocument"; 
private TextBox _richeditdocument_ = null; 
public TextBox RichEditDocument 
{ 
    get 
    { 
     if (null == _richeditdocument_) 
       _richeditdocument_ = _mainWindow.Get<TextBox>(SearchCriteria.ByAutomationId(_richeditdocument_ID)); 
       return _richeditdocument_; 
    } 
} 

Затем используйте следующую получить доступ к тексту:

string data = RichEditDocument.BulkText; 

Ниже приведены кодовые комментарии для использования Метод текста в белом:

// Summary: 
    //  Enters the text in the textbox. The text would be cleared first. This is 
    //  not as good performing as the BulkText method. This does raise all keyboard 
    //  events - that means that your string will consist of letters that match the 
    //  letters of your string but in current input language. 
    public virtual string Text { get; set; } 

Вот комментарии для использования BulkText:

 // Summary: 
     //  Sets the text in the textbox. The text would be cleared first. This is a 
     //  better performing than the Text method. This doesn't raise all keyboard events. 
     //  The string will be set exactly as it is in your code. 
Смежные вопросы