编写函数
由于查找button等功能可以复用,编写几个函数:
def window(title) win = WinWindow.new win.SearchProperties["Name"] = title win end def button(parent, title) btn = WinButton.new(parent); btn.SearchProperties["Name"] = title btn end |
$LOAD_PATH << 'D:/GZJ/OpenExpressApp/Tool/OpenTest/dll' require "Microsoft.VisualStudio.TestTools.UITest.Extension.dll" require "Microsoft.VisualStudio.TestTools.UITest.Extension.IE.dll" require "Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.dll" require "Microsoft.VisualStudio.TestTools.UITest.Extension.MSAA.dll" require "Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.dll" require "Microsoft.VisualStudio.TestTools.UITest.Framework.dll" require "Microsoft.VisualStudio.TestTools.UITesting.dll" require "Microsoft.VisualStudio.TestTools.UITest.Playback.dll" require "Microsoft.VisualStudio.TestTools.UITesting.dll" include Microsoft::VisualStudio::TestTools::UITesting include Microsoft::VisualStudio::TestTools::UITesting::WinControls def window(title) win = WinWindow.new win.SearchProperties["Name"] = title win end def button(parent, title) btn = WinButton.new(parent); btn.SearchProperties["Name"] = title btn end Playback.Initialize() #注意必须加这句,不然提示Playback的错误 app = ApplicationUnderTest.Launch('C:/Windows/system32/calc.exe') calc_window = window(" 计算器") btn_1 = button(calc_window, "1") btn_2 = button(calc_window, "2") btn_add = button(calc_window, "+") btn_equal = button(calc_window, "=") btn_value = WinEdit.new(calc_window) Mouse.Click btn_1 Mouse.Click btn_add Mouse.Click btn_2 Mouse.Click btn_equal puts "1+2=3:太高科技了,电脑算对了" if btn_value.Text.to_i == 3 Keyboard.SendKeys("C"); Keyboard.SendKeys("2"); Keyboard.SendKeys("*"); Keyboard.SendKeys("2"); Keyboard.SendKeys("."); Keyboard.SendKeys("2"); Keyboard.SendKeys("{ENTER}"); puts "2*2.2=4.4:受不了了,连小数和乘法都会了" if btn_value.Text.to_f == 4.4 app.close Playback.Cleanup() |