2017-01-13 1 views
0

Try, как я мог бы ..Pywinauto, No Text в TtsGridEditBox (Delphi XE2 GUI создал приложение тестируется)

Я не могу получить отображаемый текст с помощью pywinauto из встроенного инструмента домашнего применения (iTools EUROTHERM в), написанном с Delphi. Я написал большое количество тестового кода Python (infrustructure) с использованием pywinauto. Я построил элементы браузера x, y, используя текстовый файл для расширенных и отступов, поскольку в рамке браузера «TUivOPCTreeView» нет текста.

Мне удалось выбрать TtsGridEditBox через DoubleClickInput и выделить его DrawOutline(). Все усилия .UserData(), .Texts(), .WindowText(), переплетение детей, фильтрующих лам и множество аварийных команд, дают текст «. Я думаю, что мой единственный вариант - скопировать текст, поскольку кажется, что его невозможно прочитать.

Мне удалось удалить (.TypeKeys("{HOME}{DELETE}{DELETE}{DELETE}{DELETE}{DELETE}") и ввести другое значение (.TypeKeys(' + var + '"{ENTER}")).

Есть ли способ выпускать: домой, выбрать, завершить, скопировать с .TypeKeys или что-нибудь еще?

Control Identifiers: 
TtsGridEditBox - '' (L680, T498, R776, B512) 
     '49' 'TtsGridEditBox'() 
Read WindowText from valueNum20 is {u'UserData': 0, u'Style': 1409286144, u'ControlCount': 
0, u'ClientRects': [<RECT L0, T0, R96, B14>], u'IsEnabled': True, u'Fonts': [<LOGFONTW 'M 
S Shell Dlg' -11>], u'FriendlyClassName': u'TtsGridEditBox', u'IsUnicode': True, u'Texts': 
[''], u'ContextHelpID': 0, u'ExStyle': 0, u'IsVisible': True, u'ControlID': 2100226, u'Me 
nuItems': [], u'Class': u'TtsGridEditBox', u'Rectangle': <RECT L680, T498, R776, B512>} 

Графический интерфейс написан на Delphi XE2 (2012) v16.0.4504.48754 с плагинами TeeChart 2012, VirtualTreeViewV5.1.3 и TopGrid 2_20.

Имеет ли pywinauto когда-либо запущенное приложение, отличное от win32, например, Delphi? С этим кольцом звонит кто-нибудь?

Я убежден, что графический интерфейс Delphi отображается, но странно маскирует текст для любых автоматизированных инструментов.

Многое, разочарование, заранее спасибо :)

+0

Delphi VCL - Win32. Чтение элементов управления редактирования должно быть обычным. Каким классом является контроль. –

+0

TCustomTreeView - это класс, который получен TUivOPCTreeView. Их масса. Я использую инструмент AutoIt Window, который дает мне Class и coords. Может ли быть «class CVersadacSecurityManagerDlg: public CDialogEx», который маскирует текст? – Ellio

+0

Если вы написали это программное обеспечение в доме, вы знаете, что это такое. Я уверен, что не могу догадаться. –

ответ

0

удалось найти an implementation of UI Automation patterns for some Delphi controls включая StringGrid.

This parent project "DelphiUIAutomation" может помочь вам использовать pywinauto с этими расширенными элементами управления. Или вы можете выбрать Delphi для своего тестового кода.

+0

Я сдался и покинул компанию. Они не интересовались автоматизацией своего приложения и просили меня проверить все вручную. Я был убежден, что они используют класс маскировки безопасности глобально. В любом случае, Дельфи! – Ellio

+0

ОК, позвольте мне пожелать вам более тестируемых/автоматизированных продуктов в будущем. :) –

Смежные вопросы