Actir

Application Concurrence Test in Ruby.

安装

通过Rake本地安装gem包:

$ rake install

或者通过rubygems远程安装

$ sudo gem install actir

如果是Mac OS X 10.11版本以上的系统,要么关闭rootless机制,或者:

$ sudo gem install actir -n /usr/local/bin

使用须知

测试工程结构

  • config:配置文件
    --- config.yaml:总体配置文件,test_mode相关的配置项必须要填;
  • elements:页面元素
    • |--- components:公用页面元素方法, 包装成Module;
    • |--- pages:页面元素封装的方法,可以继承自Actir::BasicPage,已经封装了部分公用方法;
    • |--- items:根据业务抽象出的类;
    • |--- user:根据系统业务抽象出的角色及其Action;
  • testcode: 测试用例, 文件和用例方法都要以test开头, 执行之前需要初始化Actir::Initializer.new(project_path)project_path为测试工程根目录;

浏览器对象

Browser.new(type, *args)

Browser重新封装了Watir以及Selenium的初始化浏览器的方法

  • type:指定初始化浏览器的类型,可以指定www/wap两类
  • args
    • :browser:浏览器类型,可以支持 :chrome/:phantomjs/:firefox, 默认为chrome
    • :agent:user agent类型,可以支持 :iphone/:andriod_phone, 默认为iphone
    • :mode:启动模式,支持 :local/:remote, 默认为local
    • :url: 配合mode为remote的模式,指定远程机器的url,需要 IP+端口号

Initializer自动加载工程文件

Actir::Initializer.new(project_path)
  • 自动require所有的elements内的文件并自动定义每个页面类对应的方法。如: 某页面类名为LoginPage,则会自动定义出login_page方法供Browser对象调用
  • 可以直接调用Watir::Browser的所有方法
browser = Browser.new(:wap)
browser..("xxx")
# 调用Watir::Browser对象的方法
browser.refresh

执行测试用例

$ actir [switches] [--] [files & folders]
$ actir testcode/test_refund/test_full_refund.rb
$ actir testcode

指定执行某个用例文件中的某个方法:

$ actir testcode/test_pay/test_pay.rb -n test_ecard

指定用例失败重试次数:

$ actir testcode/test_pay/test_pay.rb -r 2

输出html格式的测试报告:

$ actir testcode/test_pay/test_pay.rb -r 2 --report

可使用actir -h 了解更多的运行参数