actir 1.4.3 → 1.4.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +16 -15
- data/lib/actir/config.rb +10 -2
- data/lib/actir/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2e634f0e5f5dfcf857c0077bbb5969e3b7eac6e
|
4
|
+
data.tar.gz: a6b1b491c350309cc143af835e8f78b273477b62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4cfe4d148b8857bd576518115da9669d63cfa33dbbcbd09aa3de752cbaeb2ad8299fc237e62c52891807b8cd228f47b06a485def665c956ff332b4baf591920
|
7
|
+
data.tar.gz: 7bde615a9561f603710ee0cf2422d7d0d4115459380ca03faee55a529de202ff38b58d1c9319e10b768f7813f27637175c256d34c9cb1662e9923e669022400f
|
data/README.md
CHANGED
@@ -19,34 +19,35 @@ Application Concurrence Test in Ruby.
|
|
19
19
|
|
20
20
|
## 使用须知
|
21
21
|
|
22
|
-
|
22
|
+
###测试工程结构
|
23
23
|
- **config**:配置文件
|
24
|
-
|
24
|
+
--- config.yaml:总体配置文件,test_mode相关的配置项必须要填;
|
25
25
|
- **elements**:页面元素
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
- **testcode**: 测试用例, 文件和用例方法都要以`test`开头,
|
26
|
+
- |--- `components`:公用页面元素方法, 包装成`Module`;
|
27
|
+
- |--- `pages`:页面元素封装的方法,可以继承自`Actir::BasicPage`,已经封装了部分公用方法;
|
28
|
+
- |--- `items`:根据业务抽象出的类;
|
29
|
+
- |--- `user`:根据系统业务抽象出的角色及其Action;
|
30
|
+
- **testcode**: 测试用例, 文件和用例方法都要以`test`开头, 执行之前需要初始化`Actir::Initializer.new(project_path)`,`project_path`为测试工程根目录;
|
31
31
|
|
32
|
-
|
32
|
+
###浏览器对象
|
33
33
|
``` ruby
|
34
34
|
Browser.new(type, *args)
|
35
35
|
```
|
36
36
|
Browser重新封装了Watir以及Selenium的初始化浏览器的方法
|
37
37
|
- **type**:指定初始化浏览器的类型,可以指定www/wap两类
|
38
|
-
-
|
38
|
+
- **args**:
|
39
39
|
- `:browser`:浏览器类型,可以支持 :chrome/:phantomjs/:firefox, 默认为chrome
|
40
|
-
|
41
|
-
|
42
|
-
|
40
|
+
- `:agent`:user agent类型,可以支持 :iphone/:andriod_phone, 默认为iphone
|
41
|
+
- `:mode`:启动模式,支持 :local/:remote, 默认为local
|
42
|
+
- `:url`: 配合mode为remote的模式,指定远程机器的url,需要 IP+端口号
|
43
43
|
|
44
|
-
|
44
|
+
###Initializer自动加载工程文件
|
45
45
|
``` ruby
|
46
46
|
Actir::Initializer.new(project_path)
|
47
47
|
```
|
48
48
|
- 自动require所有的elements内的文件并自动定义每个页面类对应的方法。如: 某页面类名为`LoginPage`,则会自动定义出`login_page`方法供`Browser`对象调用
|
49
|
-
- 可以直接调用Watir::Browser的所有方法
|
49
|
+
- 可以直接调用Watir::Browser的所有方法
|
50
|
+
|
50
51
|
``` ruby
|
51
52
|
browser = Browser.new(:wap)
|
52
53
|
browser.login_page.login("xxx")
|
@@ -54,7 +55,7 @@ browser.login_page.login("xxx")
|
|
54
55
|
browser.refresh
|
55
56
|
```
|
56
57
|
|
57
|
-
|
58
|
+
###执行测试用例
|
58
59
|
|
59
60
|
$ actir [switches] [--] [files & folders]
|
60
61
|
$ actir testcode/test_refund/test_full_refund.rb
|
data/lib/actir/config.rb
CHANGED
@@ -38,6 +38,9 @@ module Actir
|
|
38
38
|
def get_content(filepath)
|
39
39
|
f ||= filepath if valid?(filepath)
|
40
40
|
File.open(f) {|handle| @hash_content = YAML.load(handle)}
|
41
|
+
if (is_multi_env_cfg?(@hash_content))
|
42
|
+
@hash_content = @hash_content[ENV["env"]]
|
43
|
+
end
|
41
44
|
content = OpenStruct.new(@hash_content)
|
42
45
|
content
|
43
46
|
end
|
@@ -67,7 +70,7 @@ module Actir
|
|
67
70
|
hash = load_file(file(file_name, config_path))
|
68
71
|
end
|
69
72
|
#判断是否存在 online 和 qatest 关键词,存在的话就读取当前env配置
|
70
|
-
if (
|
73
|
+
if (is_multi_env_cfg?(hash))
|
71
74
|
#在key_array头上加入env配置
|
72
75
|
key_array.unshift(determine_env)
|
73
76
|
end
|
@@ -103,7 +106,7 @@ module Actir
|
|
103
106
|
hash = load_file(file(file_name, config_path))
|
104
107
|
end
|
105
108
|
#判断是否存在 online 和 qatest 关键词,存在的话就读取当前env配置
|
106
|
-
if (
|
109
|
+
if (is_multi_env_cfg?(hash))
|
107
110
|
#在key_array头上加入env配置
|
108
111
|
key_array.unshift(determine_env)
|
109
112
|
end
|
@@ -218,6 +221,11 @@ module Actir
|
|
218
221
|
end
|
219
222
|
end
|
220
223
|
|
224
|
+
# 判断是否是多环境配置文件
|
225
|
+
def is_multi_env_cfg?(hash)
|
226
|
+
hash.has_key?("online") || hash.has_key?("qatest")
|
227
|
+
end
|
228
|
+
|
221
229
|
end
|
222
230
|
end
|
223
231
|
end
|
data/lib/actir/version.rb
CHANGED