摘要: 编写函数
由于查找button等功能可以复用,编写几个函数:
def window(title) win = WinWindow.new win.SearchProperties = title winenddef button(parent, title) btn = WinButton.new(parent); btn.Se ...
编写函数 由于查找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() 运行测试案例
运行后你可以看到,代码会把计算器打开,然后根据脚本编写意图点击和按键,最终输出结果。
在NetBeans下查看测试结果:
在Dos窗口输出是乱码,不知道有谁知道如何更改这个窗口的字符编码?
注意的地方
1. 文件使用UTF-8或者UTF8 without BOM格式
2. 必须调用Playback.Initialize()
3. CodeUI的dll必须引用完整