skeleton-ui 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1be543edd2c332a5c65b464df1b66f5c17336ba6f18a986faa60bf6318c71543
4
- data.tar.gz: 1eaa54de3e9a3e62619567af7c988e9d818298d31d3747d21b7e1c4e4ab6e360
3
+ metadata.gz: b1b6b686064be02b7c71259fe6a6c027c67d22ef4ac3aa3e7cda5c87afc09943
4
+ data.tar.gz: a3b5cb8fdc94d7631dcf0c66a4ceff2607bf4ad753ede0492c98d8d41fe4a9c0
5
5
  SHA512:
6
- metadata.gz: 2784b2d1fff33bc4470a125eb0429e7e4e5eb2cd3642974677108a6c0a21e77ce4b8e6028436803e85e9b57cdf3c2c1236f9803b0e707bc38421980f9c0f3891
7
- data.tar.gz: fb3f819ab9c17d83f2573245b24ee68c26583c06d3be5096207ac2d1af85ee43aa966a9d2c6f5c1264e73fc1efad8c801c5cbc37a9f4d52ff15903dce0c1cc7d
6
+ metadata.gz: ddc95d6c494fcbb9237bcdd70725f6340a2b31dc01baf5356ed2e232c7612f0553bd65695e90d70d11269f56d23233b93bb05858503945f0a3d15e4423357944
7
+ data.tar.gz: 872b9f5c315da8e087b632a835b55df717cf38db55251f3c04a9f435b7ae2f00e6479da4d94838af82a3189abb728d08f746d2e1a895e54944df6052b666b8b8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- skeleton-ui (0.0.2)
4
+ skeleton-ui (0.0.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -17,13 +17,11 @@ Prerequisites:
17
17
 
18
18
  Installation:
19
19
  ------
20
- $ git clone https://github.com/forqa/skeleton.git
21
- $ gem install bundler
22
- $ cd skeleton && bundle install
20
+ $ gem install skeleton-ui
23
21
 
24
22
  Usage:
25
23
  ------
26
- $ ruby skeleton.rb -h
24
+ $ skeleton -h
27
25
 
28
26
  ## License
29
27
 
@@ -1,15 +1,9 @@
1
1
  class Android < Base
2
- RESOURCE_ID = {
3
- java: 'resource-id',
4
- ruby: 'resource-id'
5
- }
6
- CONTENT_DESC = {
7
- java: 'content-desc',
8
- ruby: 'content-desc'
9
- }
2
+ RESOURCE_ID = 'resource-id'
3
+ CONTENT_DESC = 'content-desc'
10
4
  TEXT = 'text'
11
- ID = 'id'
12
- XPATH = 'xpath'
5
+ ID = { java: :id }
6
+ XPATH = { java: :xpath }
13
7
  CLASS = 'class'
14
8
 
15
9
  attr_accessor :platform, :udid, :bundle_id, :ios_sim
@@ -20,9 +14,11 @@ class Android < Base
20
14
  end
21
15
 
22
16
  def skeletoner
17
+ log.info('We starting to skeleton your screen 🚀')
23
18
  create_page_objects
24
19
  save_screenshot
25
20
  save(page_source)
21
+ log.info('We successfully skeletoned your screen 👻')
26
22
  end
27
23
 
28
24
  private
@@ -58,6 +54,7 @@ class Android < Base
58
54
  end
59
55
 
60
56
  def create_page_objects
57
+ log.info('Generation page objects for your awesome language 💪')
61
58
  page_source_html = Nokogiri::HTML.parse(page_source)
62
59
  page_source_html.css('node').each { |line| create_locator(line) }
63
60
  end
@@ -65,8 +62,6 @@ class Android < Base
65
62
  def code_generation(method_name, locator_type, value)
66
63
  java = java(method_name, locator_type, value)
67
64
  save(java, format: Language::JAVA)
68
-
69
- # ADD OTHER LANGUAGES HERE
70
65
  end
71
66
 
72
67
  def save(code, format: 'xml')
@@ -76,13 +71,20 @@ class Android < Base
76
71
 
77
72
  def page_source
78
73
  unless @page_source
74
+ log.info('Getting screen source tree ⚒')
79
75
  dump = `adb -s #{@udid} shell uiautomator dump | egrep -o '/.*?xml'`
80
76
  @page_source = `adb -s #{@udid} shell cat #{dump}`
77
+ if @page_source.empty?
78
+ log.fatal('Something went wrong.') # FIXME
79
+ Process.exit(1)
80
+ end
81
+ log.info('Successfully getting Screen Source Tree 🔥')
81
82
  end
82
83
  @page_source
83
84
  end
84
85
 
85
86
  def save_screenshot
87
+ log.info('Saving screenshot 📷')
86
88
  file_name = "#{@platform}_#{TIMESTAMP}.png"
87
89
  `adb -s #{@udid} shell screencap -p /sdcard/#{file_name}`
88
90
  `adb -s #{@udid} pull /sdcard/#{file_name} #{ATTACHMENTS_FOLDER}/`
data/lib/skeleton/base.rb CHANGED
@@ -3,6 +3,7 @@ require_relative 'languages.rb'
3
3
  class Base
4
4
  include Language
5
5
 
6
+ # ROOT_DIR_FOR_DEBUG = File.expand_path('..', Dir.pwd)
6
7
  ROOT_DIR = "#{`gem environment gemdir`.strip}" \
7
8
  "/gems/skeleton-ui-#{Skeleton::VERSION}"
8
9
  PAGE_OBJECTS_FOLDER = "#{ROOT_DIR}/PageObjects"
@@ -69,24 +70,6 @@ class Base
69
70
  @locator_index = @locator_index.nil? ? 1 : @locator_index + 1
70
71
  end
71
72
 
72
- def java(method_name, locator_type, value)
73
- <<~JAVA
74
- By #{camel_style(method_name)}() {
75
- return MobileBy.#{locator_type[:java]}("#{value}");
76
- }
77
-
78
- JAVA
79
- end
80
-
81
- def ruby(method_name, locator_type, value)
82
- <<~RUBY
83
- def #{snake_style(method_name)}
84
- return :#{locator_type[:ruby]}, "#{value}"
85
- end
86
-
87
- RUBY
88
- end
89
-
90
73
  def screenshot
91
74
  end
92
75
 
@@ -2,4 +2,22 @@ module Language
2
2
  JAVA = 'java'
3
3
  RUBY = 'rb'
4
4
  PYTHON = 'py'
5
+
6
+ def java(method_name, locator_type, value)
7
+ <<~JAVA
8
+ By #{camel_style(method_name)}() {
9
+ return MobileBy.#{locator_type[:java]}("#{value}");
10
+ }
11
+
12
+ JAVA
13
+ end
14
+
15
+ def ruby(method_name, locator_type, value)
16
+ <<~RUBY
17
+ def #{snake_style(method_name)}
18
+ return :#{locator_type[:ruby]}, "#{value}"
19
+ end
20
+
21
+ RUBY
22
+ end
5
23
  end
@@ -1,4 +1,4 @@
1
1
  module Skeleton
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  GEM_NAME = 'skeleton-ui'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skeleton-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - a.alterpesotskiy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-26 00:00:00.000000000 Z
11
+ date: 2018-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler