README.md in actir-1.4.2 vs README.md in actir-1.4.3

- old
+ new

@@ -1,50 +1,77 @@ # Actir Application Concurrence Test in Ruby. -## Installation +## 安装 -git clone code and then execute: +通过Rake本地安装gem包: $ rake install -Or install it yourself as: +或者通过rubygems远程安装 - $ gem install actir + $ sudo gem install actir + +如果是Mac OS X 10.11版本以上的系统,要么关闭rootless机制,或者: -## Usage + $ sudo gem install actir -n /usr/local/bin + -使用须知: -1. 对应测试工程结构如下 -  config -- 配置文件 -   |-config.yaml -- 总体配置文件,test_mode相关的配置项必须要填 -  elements -   |-components -- 公用页面元素方法 -   |-pages -- 页面元素封装的方法,可以继承自Actir::BasicPage,已经封装了部分公用方法 -  testcode -- 测试用例,执行之前需要初始化 Actir::Initializer.new(project_path) - -2.project_path:测试工程根目录 +## 使用须知 -3.Browser.new(type, *args): -  Browser重新封装了watir以及selenium的初始化浏览器的方法 -  1).type指定初始化浏览器的类型,可以指定www/wap两类 -  2).*args: -  :browser - 浏览器类型,可以支持 :chrome/:phantomjs/:firefox, 默认为chrome -  :agent - user agent类型,可以支持 :iphone/:andriod_phone, 默认为iphone -  :mode - 启动模式,支持 :local/:remote, 默认为local -  :url - 配合mode为remote的模式,指定远程机器的url,需要 IP+端口号 +####测试工程结构 + - **config**:配置文件 +   |--- config.yaml:总体配置文件,test_mode相关的配置项必须要填 + - **elements**:页面元素 +   |--- components:公用页面元素方法, 包装成`Module` +   |--- pages:页面元素封装的方法,可以继承自`Actir::BasicPage`,已经封装了部分公用方法 +   |--- items:根据业务抽象出的类 +   |--- user:根据系统业务抽象出的角色及其Action + - **testcode**: 测试用例, 文件和用例方法都要以`test`开头, 执行之前需要初始化 Actir::Initializer.new(project_path),`project_path`为测试工程根目录 -4.初始化会自动require所有的elements内的文件并自动定义每个页面类对应的方法 -  如: 某页面类名为LoginPage,则会自动定义出login_page方法 -  3中初始化出的browser对象,可以直接调用login_page方法 -  也可以直接调用Watir::Browser对应的所有方法 -  如:browser = Browser.new(type, *args) -    browser.login_page.xxx (xxx为LoginPage中定义的方法) +####浏览器对象 +``` ruby +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+端口号 -## Contributing +####Initializer自动加载工程文件 +``` ruby +Actir::Initializer.new(project_path) +``` +- 自动require所有的elements内的文件并自动定义每个页面类对应的方法。如: 某页面类名为`LoginPage`,则会自动定义出`login_page`方法供`Browser`对象调用 +- 可以直接调用Watir::Browser的所有方法 +``` ruby +browser = Browser.new(:wap) +browser.login_page.login("xxx") +# 调用Watir::Browser对象的方法 +browser.refresh +``` -1. Fork it ( https://github.com/hub128/actir.git ) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create a new Pull Request +####执行测试用例 + + $ 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` 了解更多的运行参数 +> \ No newline at end of file