calabash-android 0.2.7 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,11 @@
1
+ 0.2.8:
2
+ Added /screenshot to test server.
3
+ Calabash will now kill the test server at exit.
4
+ Test server is now compiled with the debug flag which means better
5
+ stacktraces.
6
+
7
+ Bug fixes.
8
+
1
9
  0.2.7:
2
10
  Fixed path on Windows - Really!
3
11
 
@@ -17,11 +17,12 @@ Before do |scenario|
17
17
  end
18
18
 
19
19
  at_exit do
20
- # uninstall_apps
20
+ require 'net/http'
21
+ Net::HTTP.get(URI.parse("http://127.0.0.1:34777/kill"))
21
22
  end
22
23
 
23
24
  FeatureNameMemory = Class.new
24
25
  class << FeatureNameMemory
25
26
  @feature_name = nil
26
27
  attr_accessor :feature_name
27
- end
28
+ end
@@ -116,17 +116,6 @@ module Operations
116
116
 
117
117
  puts "#{adb_command} forward tcp:b#{server_port} tcp:7102"
118
118
  log `#{adb_command} forward tcp:#{server_port} tcp:7102`
119
- =begin
120
- begin
121
- Timeout::timeout(15) do
122
- puts http("/ping")
123
- end
124
- rescue Timeout::Error
125
- msg = "Unable to make connection to Calabash Test Server at http://127.0.0.1:#{@server_port}/\n"
126
- msg << "Please check the logcat output for more info about what happened\n"
127
- raise msg
128
- end
129
- =end
130
119
  end
131
120
 
132
121
  def reinstall_apps()
@@ -245,6 +234,16 @@ module Operations
245
234
  else
246
235
  `#{cmd} 1>&2 &`
247
236
  end
237
+
238
+ begin
239
+ Timeout::timeout(15) do
240
+ puts http("/ping")
241
+ end
242
+ rescue Timeout::Error
243
+ msg = "Unable to make connection to Calabash Test Server at http://127.0.0.1:#{@server_port}/\n"
244
+ msg << "Please check the logcat output for more info about what happened\n"
245
+ raise msg
246
+ end
248
247
  end
249
248
 
250
249
  def log(message)
@@ -1,6 +1,6 @@
1
1
  module Calabash
2
2
  module Android
3
- VERSION = "0.2.7"
4
- FRAMEWORK_VERSION = "0.2.7"
3
+ VERSION = "0.2.8"
4
+ FRAMEWORK_VERSION = "0.2.8"
5
5
  end
6
6
  end
@@ -112,6 +112,7 @@
112
112
  verbose="${verbose}"
113
113
  source="1.6"
114
114
  target="1.6"
115
+ debug="true"
115
116
  bootclasspathref="android.target.classpath"
116
117
  classpath="${extensible.classpath}"
117
118
  classpathref="jar.libs.ref">
@@ -1,9 +1,14 @@
1
1
  package sh.calaba.instrumentationbackend.actions;
2
2
 
3
+ import java.io.ByteArrayInputStream;
4
+ import java.io.ByteArrayOutputStream;
3
5
  import java.io.File;
4
6
  import java.util.Properties;
5
7
 
8
+ import android.graphics.Bitmap;
9
+ import android.view.View;
6
10
  import sh.calaba.instrumentationbackend.Command;
11
+ import sh.calaba.instrumentationbackend.InstrumentationBackend;
7
12
  import sh.calaba.instrumentationbackend.Result;
8
13
  import sh.calaba.org.codehaus.jackson.map.DeserializationConfig.Feature;
9
14
  import sh.calaba.org.codehaus.jackson.map.ObjectMapper;
@@ -13,25 +18,34 @@ public class HttpServer extends NanoHTTPD {
13
18
  private static final String TAG = "IntrumentationBackend";
14
19
  private boolean running = true;
15
20
 
16
- private ObjectMapper mapper;
21
+ private final ObjectMapper mapper = createJsonMapper();
17
22
 
18
23
  public HttpServer() {
19
24
  super(7102, new File("/"));
20
-
21
- mapper = createJsonMapper();
22
25
  }
23
26
 
24
27
  public Response serve( String uri, String method, Properties header, Properties params, Properties files )
25
28
  {
26
29
  System.out.println("URI: " + uri);
27
- if ("/ping".equals(uri)) {
30
+ if (uri.endsWith("/ping")) {
28
31
  return new NanoHTTPD.Response( HTTP_OK, MIME_HTML, "pong");
29
- } else if ("/kill".equals(uri)) {
32
+ } else if (uri.endsWith("/kill")) {
30
33
  running = false;
31
34
  System.out.println("Stopping test server");
32
35
  stop();
33
36
  return new NanoHTTPD.Response( HTTP_OK, MIME_HTML, "Affirmative!");
34
- }
37
+
38
+ } else if (uri.endsWith("/screenshot")) {
39
+ Bitmap bitmap;
40
+ View v1 = InstrumentationBackend.solo.getViews().get(0).getRootView();
41
+ v1.setDrawingCacheEnabled(true);
42
+ bitmap = Bitmap.createBitmap(v1.getDrawingCache());
43
+ v1.setDrawingCacheEnabled(false);
44
+
45
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
46
+ bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
47
+ return new NanoHTTPD.Response( HTTP_OK, "image/png", new ByteArrayInputStream(out.toByteArray()));
48
+ }
35
49
 
36
50
  String commandString = params.getProperty("command");
37
51
  System.out.println("command: "+ commandString);
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calabash-android
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 7
10
- version: 0.2.7
9
+ - 8
10
+ version: 0.2.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jonas Maturana Larsen
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-08-06 00:00:00 +02:00
18
+ date: 2012-08-09 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency