uia软件的操控方法,常用的控件:文本框、单选框、下拉框、勾选框、按钮以及表格
连接qtGUI软件并输出软件里的控件信息
文本框操作
文本框的写入和读取是基于dlg_spec对象,它是定位了qtGUI软件的主窗口。在dlg_spec对象中定位Edit0文本框有两种方式:使用“.”定位或者使用“[]”定位,其中后者比前者更具优势,因为有时候控件命名会出现一些特殊符号,在这种情况,“[]”定位也能精准实现定位。
对于文本框的写入分别使用了set_edit_text()和type_keys()方法实现,两者都能实现中英文输入。前者在输入内容之前会清空文本框的内容再输入;后者不管文本框是否已有内容都会直接输入。而读取文本框内容可以使用window_text()、texts()或text_block()实现。
单选框的单击和读取方法
下拉框的选值和读取也是使用set_edit_text()和texts()方法实现。使用set_edit_text()必须保证下拉框是支持文本编辑,也就是在下拉框中可输入文本内容;texts()方法是读取下拉框里全部的选项值,每个选项值以一个列表表示
qtGUI的勾选框和按钮的单击和读取都是可以使用click_input()、click()和texts()、window_text()方法实现。单击方法click_input()和click()在使用上存在区别,对于uia软件来说,click_input()方法可以适用于任何控件的单击,而click()方法只使用部分控件。比如单击文本框,前者可以对文本框进行单击操作,而后者则会提示异常
使用PyWinAuto读取和修改数据表里面的数据。首先分析数据表的数据结构,数据表是由Table控件生成的,该控件下有Header和DataItem元素:Header元素代表数据表的标题;DataItem元素代表数据表的数据内容
整个qtGUI软件的自动化操控过程如下:
(1)将PyWinAuto与qtGUI软件实现连接,生成dlg对象,再通过dlg对象对软件的主窗口进行绑定与定位,生成dlg_spec对象。
(2)通过dlg_spec对象再对目标控件进行定位,定位方法支持“.”定位或者“[]”定位。
(3)目标控件定位后,使用操控方法实现自动化,主要的操控方法有:text_block()、texts()、window_text()、select()、click()、click_input()、set_edit_text()、type_keys()和children_texts()。各种操控方法的使用范围以及适用对象都是各不相同。