簡體   English   中英

從彈出菜單中選擇一個項目

[英]Selecting an item from pop-up menu

我正在嘗試制作一個可以測試現有應用程序某些功能的應用程序,我希望它不依賴於窗口大小,也不需要聚焦於窗口等。

我已經弄清楚了如何在測試的應用程序中獲取不同控件的窗口句柄,因此我可以單擊按鈕,使用“發送/發布消息”在文本框中輸入文本等,但是仍然存在一些未解決的問題。

首先是從彈出菜單中選擇一個項目,該項目可以通過單擊按鈕(TAdvGlowMenuButton類)或在某處單擊鼠標右鍵來觸發-我什至在Spy ++中都看不到與此相關的任何消息,所以我不知道該怎么做,是否可以通過名稱選擇項目? 因為我沒有身份證

第二件事是單擊某個事物旁邊的事物,例如按鈕右側的10像素。 我有按鈕句柄,所以我可以得到它的大小和它的父對象,但是我仍然不知道如何獲得它在父對象中的位置-有什么想法嗎?

也是一種快速的方法,但我不認為有可能-我能以某種方式在測試的應用程序中獲得標簽的位置嗎? 我什至在Spy ++中都看不到它。

我希望你能幫助我找出來;)

編輯:我忘了最重要的事情:P,如果可能的話,我想通過發送/發布消息來實現它。

我的建議是完全放棄消息發送/發布模型,而改用UI Automation 自動化測試工具正是UI自動化API的設計目的,並且比SendMessage / PostMessage更加強大。

是的,我知道這與您要尋找的答案完全相反。 但是,獲取消息來做您想做的事情沒有麻煩。 其中相當一部分依賴於具有焦點的應用程序,並且當您收到例如WM_KEYDOWN消息時,代碼對此假設是完全合理的。 測試工具不應將其標記為錯誤。

我注意到您已經用C#和.NET標記標記了這個問題。 在這種情況下,您可能有興趣了解UI自動化API已包裝在.NET Framework中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM