File Coverage

blib/lib/Appium/Commands.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Appium::Commands;
2             $Appium::Commands::VERSION = '0.0802';
3             # ABSTRACT: Appium specific extensions to the Webdriver JSON protocol
4 3     3   31858 use Moo;
  3         11513  
  3         15  
5             extends 'Selenium::Remote::Commands';
6              
7              
8             has 'get_cmds' => (
9             is => 'lazy',
10             builder => sub {
11             my ($self) = @_;
12             my $commands = $self->SUPER::get_cmds;
13              
14             my $appium_commands = {
15             contexts => {
16             method => 'GET',
17             url => 'session/:sessionId/contexts',
18             no_content_success => 0
19             },
20             get_current_context => {
21             method => 'GET',
22             url => 'session/:sessionId/context',
23             no_content_success => 0
24             },
25             switch_to_context => {
26             method => 'POST',
27             url => 'session/:sessionId/context',
28             no_content_success => 1
29             },
30             # touch_action => {
31             # method => 'POST',
32             # url => 'session/:sessionId/touch/perform',
33             # no_content_success => 1
34             # },
35             # multi_action => {
36             # method => 'POST',
37             # url => 'session/:sessionId/touch/multi/perform',
38             # no_content_success => 1
39             # },
40             app_strings => {
41             method => 'POST',
42             url => 'session/:sessionId/appium/app/strings',
43             no_content_success => 0
44             },
45             press_keycode => {
46             method => 'POST',
47             url => 'session/:sessionId/appium/device/press_keycode',
48             no_content_success => 1
49             },
50             long_press_keycode => {
51             method => 'POST',
52             url => 'session/:sessionId/appium/device/long_press_keycode',
53             no_content_success => 1
54             },
55             current_activity => {
56             method => 'GET',
57             url => 'session/:sessionId/appium/device/current_activity',
58             no_content_success => 0
59             },
60             set_value => {
61             method => 'POST',
62             url => 'session/:sessionId/appium/element/$elementId/value',
63             no_content_success => 1
64             },
65             pull_file => {
66             method => 'POST',
67             url => 'session/:sessionId/appium/device/pull_file',
68             no_content_success => 0
69             },
70             pull_folder => {
71             method => 'POST',
72             url => 'session/:sessionId/appium/device/pull_folder',
73             no_content_success => 0
74             },
75             push_file => {
76             method => 'POST',
77             url => 'session/:sessionId/appium/device/push_file',
78             no_content_success => 1
79             },
80             complex_find => {
81             method => 'POST',
82             url => 'session/:sessionId/appium/app/complex_find',
83             no_content_success => 1
84             },
85             background_app => {
86             method => 'POST',
87             url => 'session/:sessionId/appium/app/background',
88             no_content_success => 1
89             },
90             is_app_installed => {
91             method => 'POST',
92             url => 'session/:sessionId/appium/device/app_installed',
93             no_content_success => 1
94             },
95             install_app => {
96             method => 'POST',
97             url => 'session/:sessionId/appium/device/install_app',
98             no_content_success => 1
99             },
100             remove_app => {
101             method => 'POST',
102             url => 'session/:sessionId/appium/device/remove_app',
103             no_content_success => 1
104             },
105             launch_app => {
106             method => 'POST',
107             url => 'session/:sessionId/appium/app/launch',
108             no_content_success => 1
109             },
110             close_app => {
111             method => 'POST',
112             url => 'session/:sessionId/appium/app/close',
113             no_content_success => 1
114             },
115             end_test_coverage => {
116             method => 'POST',
117             url => 'session/:sessionId/appium/app/end_test_coverage',
118             no_content_success => 1
119             },
120             lock => {
121             method => 'POST',
122             url => 'session/:sessionId/appium/device/lock',
123             no_content_success => 1
124             },
125             is_locked => {
126             method => 'POST',
127             url => 'session/:sessionId/appium/device/is_locked',
128             no_content_success => 0
129             },
130             shake => {
131             method => 'POST',
132             url => 'session/:sessionId/appium/device/shake',
133             no_content_success => 1
134             },
135             reset => {
136             method => 'POST',
137             url => 'session/:sessionId/appium/app/reset',
138             no_content_success => 1
139             },
140             hide_keyboard => {
141             method => 'POST',
142             url => 'session/:sessionId/appium/device/hide_keyboard',
143             no_content_success => 1
144             },
145             open_notifications => {
146             method => 'POST',
147             url => 'session/:sessionId/appium/device/open_notifications',
148             no_content_success => 1
149             },
150             network_connection => {
151             method => 'GET',
152             url => 'session/:sessionId/network_connection',
153             no_content_success => 0
154             },
155             set_network_connection => {
156             method => 'POST',
157             url => 'session/:sessionId/network_connection',
158             no_content_success => 1
159             },
160             # get_available_ime_engines => {
161             # method => 'GET',
162             # url => 'session/:sessionId/ime/available_engines',
163             # no_content_success => 0
164             # },
165             # is_ime_active => {
166             # method => 'GET',
167             # url => 'session/:sessionId/ime/activated',
168             # no_content_success => 0
169             # },
170             # activate_ime_engine => {
171             # method => 'POST',
172             # url => 'session/:sessionId/ime/activate',
173             # no_content_success => 1
174             # },
175             # deactivate_ime_engine => {
176             # method => 'POST',
177             # url => 'session/:sessionId/ime/deactivate',
178             # no_content_success => 1
179             # },
180             # get_active_ime_engine => {
181             # method => 'GET',
182             # url => 'session/:sessionId/ime/active_engine',
183             # no_content_success => 0
184             # }
185             };
186              
187             foreach (keys %$appium_commands) {
188             $commands->{$_} = $appium_commands->{$_};
189             }
190              
191             return $commands;
192             }
193             );
194              
195              
196             1;
197              
198             __END__