首页 测试 工具 查看内容

IronRuby - 编写自动化测试脚本

2014-9-8 18:56| 发布者: | 查看: 621| 评论: 0

摘要:   编写函数   由于查找button等功能可以复用,编写几个函数: def window(title) win = WinWindow.new win.SearchProperties = title winenddef button(parent, title) btn = WinButton.new(parent); btn.Se ...
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必须引用完整

  编写函数

  由于查找button等功能可以复用,编写几个函数:


鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部