2017-01-13 2 views
0

시도 내가 모르기 때문에 (델파이 XE2 GUI는 응용 프로그램이 테스트되고 생성) 델파이와. pywinauto를 사용하여 많은 양의 Python 테스트 코드 (infrustructure)를 작성했습니다. 브라우저 'TUivOPCTreeView'프레임 내에 텍스트가 없으므로 브라우저 x, y 요소를 확장되고 들여 쓰기 된 구조 좌표로 텍스트 파일을 사용하여 플롯했습니다.Pywinauto, TtsGridEditBox 없음 텍스트 작성,</p> <p>내가 집 응용 프로그램 도구에서에서 (는 Eurotherm의 iTools에서)를 pywinauto를 사용하여 표시되는 텍스트를 얻을 수 없다 ..

TtsGridEditBoxDoubleClickInput을 통해 선택하고 DrawOutline()으로 강조 표시했습니다. 모든 노력 .UserData(), .Texts(), .WindowText(), lamda와 많은 충돌 명령을 필터링하는 어린이 루핑은 ''의 텍스트를 제공합니다. 내 유일한 옵션은 읽을 수없는 것처럼 텍스트를 복사하는 것입니다.

(.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>} 

그래픽 사용자 인터페이스는 델파이 XE2 (2012) 플러그인 TeeChart는 2012 년 VirtualTreeViewV5.1.3 및 TopGrid 2_20와 v16.0.4504.48754로 작성되었습니다.

필 위나토는 델파이 같은 비 Win32 작성 응용 프로그램에서 실행 되었습니까? 누구와도 어떤 벨소리가 울리나요?

필자는 Delphi 작성된 GUI가 표시되지만 이상하게도 자동화 된 도구의 텍스트를 숨기는 것으로 확신합니다.

많은, 좌절, 덕분에 사전에 :)

+0

Delphi VCL은 Win32입니다. 편집 컨트롤을 읽는 것은 일상적이어야합니다. 컨트롤은 어떤 클래스입니다. –

+0

TCustomTreeView는 TUivOPCTreeView에서 파생 된 클래스입니다. 그들 중 다수가 있습니다. 나에게 클래스와 코즈를주는 AutoIt Window 정보 툴을 사용한다. 'CVersadacSecurityManagerDlg : public CDialogEx'가 텍스트를 마스킹 할 수 있습니까? – Ellio

+0

집에이 소프트웨어를 작성했다면 분명히 그것이 무엇인지 알 것입니다. 나는 내가 추측 할 수 없다고 확신한다. –

답변

0

은 StringGrid 포함 an implementation of UI Automation patterns for some Delphi controls을 찾을 수 없습니다.

This parent project "DelphiUIAutomation"이 향상된 컨트롤을 사용하면 pywinauto를 사용할 수 있습니다. 또는 테스트 코드에 대해 Delphi 자체를 선택할 수도 있습니다.

+0

나는 포기하고 회사를 떠났습니다. 그들은 자신의 응용 프로그램을 자동화하는 데 관심이없고 수동으로 모든 것을 테스트 해달라고 요청했습니다. 전 세계적으로 보안 마스킹 클래스를 사용하고 있다고 확신했습니다. 어쨌든 델파이는 불쾌합니다! – Ellio

+0

자, 앞으로는 더 테스트 할/자동화 할 수있는 제품을 만들어 보겠습니다. :) –

관련 문제