itms_automation 2.1 → 2.2

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: 22ff0afb795d8a0743046146c7c33211f2ba6713b08c8d163100905b15b365e4
4
- data.tar.gz: fbd7065336f40f3891d6c78423804199b71088684c4a8ad55f4538016487bd66
3
+ metadata.gz: b1066a38baafacc29d30b7f1c0f615b617f9f842a99fecc323457eec81309361
4
+ data.tar.gz: a8744479fc22f8b4e8063b90747857d807a8709b9a3c38e1116d9a18607a7d6f
5
5
  SHA512:
6
- metadata.gz: e5f416aaec55dba549728e3083290d5d76064eb6ac88600550dfe9a794add4c08e403934b470eabd97579fa47bf432498626a3b84bad7ebe67102bb1b8bd5e1d
7
- data.tar.gz: 1c1d9ad81b4f11ad8ae83eebdf4ba18e500cd579f5a1a5b61080b68a9da159447d94f8b7b08dc06a72522a10a4dfc1f6f434795e5a5294277a10eef940b8ba27
6
+ metadata.gz: 6e42a121f66d331393f8a3a62f9d6025b31a6613062120a53006b0bfbe1fd5f95e7acd6c364b36f6825cf8fab09b16ee9e256d1fdd7e1c1db715c65fc0cd1362
7
+ data.tar.gz: 7f3760b31ab2dda8f192e2f5f56f69b79b2f80dffc12dc99946257989021f50d4b7f7025d45169735007b5e5ef416a2684c9ada47659defb4fa4e22a7a34ac73
@@ -13,6 +13,10 @@ def set_var(var_name, var_value)
13
13
  eval strEval, $dyn_vars
14
14
  end
15
15
 
16
+ def get_var(var_name)
17
+ $dyn_vars.local_variable_get(var_name)
18
+ end
19
+
16
20
  def check_dynamic_value(value)
17
21
  if !value.is_a? Fixnum
18
22
  if value.include? "params="
@@ -130,8 +134,9 @@ def print_variable(variable)
130
134
  end
131
135
 
132
136
  def duration(start)
133
- current = Time.now
134
- return current - start
137
+ current = Time.now.to_f
138
+ convert_time = Time.at(current - start.to_f).utc.strftime('%Mm%s.%Ls')
139
+ return convert_time
135
140
  end
136
141
 
137
142
  def print_log(status, start, method, *args)
@@ -147,7 +152,7 @@ def print_log(status, start, method, *args)
147
152
  end
148
153
  end
149
154
 
150
- puts "#{icon} Step: #{method}(#{str}) (#{duration(start)})"
155
+ puts "#{icon} Step: #{method}(#{str}) (#{duration(start)})"
151
156
  end
152
157
 
153
158
  def get_object_value(str_obj)
@@ -387,7 +392,7 @@ def get_objects_by_Class(strClass)
387
392
  begin
388
393
  foundElements = page.all("*[@class='#{strClass}']")
389
394
  rescue StandardError => e
390
- raise "Error: #{e.message}"
395
+ raise "Error: #{e.message}"
391
396
  end
392
397
 
393
398
  return foundElements
@@ -398,7 +403,7 @@ def get_objects_by_Name(strName)
398
403
  begin
399
404
  foundElements = page.all("*[@name='#{strName}']")
400
405
  rescue StandardError => e
401
- raise "Error: #{e.message}"
406
+ raise "Error: #{e.message}"
402
407
  end
403
408
 
404
409
  return foundElements
@@ -409,7 +414,7 @@ def get_objects_by_Tagname(strTagname)
409
414
  begin
410
415
  foundElements = page.all("#{strTagname}")
411
416
  rescue StandardError => e
412
- raise "Error: #{e.message}"
417
+ raise "Error: #{e.message}"
413
418
  end
414
419
 
415
420
  return foundElements
@@ -1,3 +1,3 @@
1
1
  module ItmsAutomation
2
- VERSION = "2.1"
2
+ VERSION = "2.2"
3
3
  end
@@ -1,5 +1,6 @@
1
1
  require "net/https"
2
2
  require "rspec"
3
+ require "open-uri"
3
4
 
4
5
  def execute_openbrowser(url_site)
5
6
  start = Time.now
@@ -386,7 +387,7 @@ def get_element_text(element)
386
387
  if foundElement != nil
387
388
  begin
388
389
  result = foundElement.text()
389
- print_log("passed", start, __method__, element, style)
390
+ print_log("passed", start, __method__, element)
390
391
  puts "Text of #{element}: #{result}"
391
392
  rescue StandardError => e
392
393
  print_log("failed", start, __method__, element)
@@ -398,16 +399,16 @@ def get_element_text(element)
398
399
  end
399
400
  end
400
401
 
401
- def get_element_attribute(element, value)
402
+ def get_element_attribute(element)
402
403
  start = Time.now
403
404
  foundElement = find_object(element)
404
405
  if foundElement != nil
405
406
  begin
406
407
  result = foundElement.value()
407
- print_log("passed", start, __method__, element, value)
408
+ print_log("passed", start, __method__, element)
408
409
  puts "Attribute of #{element}: #{result}"
409
410
  rescue StandardError => e
410
- print_log("failed", start, __method__, element, value)
411
+ print_log("failed", start, __method__, element)
411
412
  raise "Error: #{e.message}"
412
413
  end
413
414
  else
@@ -604,3 +605,234 @@ def movemouseandclick(var, element)
604
605
  Selenium::WebDriver::Support::Select.new(page.driver.browser.find_element(:id, "#{var}")).select_by(:text, "#{element}")
605
606
  page.driver.browser.find_element(:id, "#{var}").click
606
607
  end
608
+
609
+ def upload_file(element, file_url)
610
+ start = Time.now
611
+ found_element = find_object(element)
612
+ if found_element != nil
613
+ begin
614
+ file_name = File.basename(file_url)
615
+ FileUtils.mkdir_p("downloads") unless File.exist?("downloads")
616
+ File.open("downloads/#{file_name}", "wb") do |file|
617
+ file.write open(file_url).read
618
+ end
619
+ attach_file(found_element, "downloads/#{file_name}")
620
+ print_log("passed", start, __method__, element, file_url)
621
+ rescue StandardError => e
622
+ print_log("failed", start, __method__, element, file_url)
623
+ raise "Error: #{e.message}"
624
+ end
625
+ else
626
+ print_log("failed", start, __method__, element, file_url)
627
+ raise "Error: Not found object: #{element}"
628
+ end
629
+ end
630
+
631
+ def store_variable(var_name, var_value)
632
+ start = Time.now
633
+ begin
634
+ text = "'" + var_value + "'"
635
+ set_var(var_name, text)
636
+ print_log("passed", start, __method__, var_name, var_value)
637
+ rescue StandardError => e
638
+ print_log("failed", start, __method__, var_name, var_value)
639
+ raise "Error: #{e.message}"
640
+ end
641
+ end
642
+
643
+ def store_text_element(element, var_name)
644
+ start = Time.now
645
+ found_element = find_object(element)
646
+ if found_element != nil
647
+ begin
648
+ var_value = "'" + found_element.text() + "'"
649
+ set_var(var_name, var_value)
650
+ print_log("passed", start, __method__, element, var_name)
651
+ rescue StandardError => e
652
+ print_log("failed", start, __method__, element, var_name)
653
+ raise "Error: #{e.message}"
654
+ end
655
+ else
656
+ print_log("failed", start, __method__, element, var_name)
657
+ raise "Error: Not found object: #{element}"
658
+ end
659
+ end
660
+
661
+ def store_title_current_page(var_name)
662
+ start = Time.now
663
+ begin
664
+ var_value = "'" + page.title + "'"
665
+ set_var(var_name, var_value)
666
+ print_log("passed", start, __method__, var_name)
667
+ rescue StandardError => e
668
+ print_log("failed", start, __method__, var_name)
669
+ raise "Error: #{e.message}"
670
+ end
671
+ end
672
+
673
+ def store_element_value(element, var_name)
674
+ start = Time.now
675
+ found_element = find_object(element)
676
+ if found_element != nil
677
+ begin
678
+ var_value = "'" + found_element.value() + "'"
679
+ set_var(var_name, var_value)
680
+ print_log("passed", start, __method__, element, var_name)
681
+ rescue StandardError => e
682
+ print_log("failed", start, __method__, element, var_name)
683
+ raise "Error: #{e.message}"
684
+ end
685
+ else
686
+ print_log("failed", start, __method__, element, var_name)
687
+ raise "Error: Not found object: #{element}"
688
+ end
689
+ end
690
+
691
+ def store_element_attribute_value(element, attribute, var_name)
692
+ start = Time.now
693
+ found_element = find_object(element)
694
+ if found_element != nil
695
+ begin
696
+ var_value = "'" + found_element[attribute] + "'"
697
+ set_var(var_name, var_value)
698
+ print_log("passed", start, __method__, element, var_name)
699
+ rescue StandardError => e
700
+ print_log("failed", start, __method__, element, var_name)
701
+ raise "Error: #{e.message}"
702
+ end
703
+ else
704
+ print_log("failed", start, __method__, element, var_name)
705
+ raise "Error: Not found object: #{element}"
706
+ end
707
+ end
708
+
709
+ def store_evaluate_script(script, var_name)
710
+ start = Time.now
711
+ begin
712
+ result = page.evaluate_script(<<~JS, script)
713
+ (function(scr){
714
+ return eval(scr);
715
+ })(arguments[0])
716
+ JS
717
+ var_value = "'" + result.to_s + "'"
718
+ set_var(var_name, var_value)
719
+ print_log("passed", start, __method__, script, var_name)
720
+ rescue StandardError => e
721
+ print_log("failed", start, __method__, script, var_name)
722
+ raise "Error: #{e.message}"
723
+ end
724
+ end
725
+
726
+ def check_checkbox_radio(element)
727
+ start = Time.now
728
+ found_element = find_object(element)
729
+ if found_element != nil
730
+ begin
731
+ found_element.check(allow_label_click: true)
732
+ print_log("passed", start, __method__, element)
733
+ rescue StandardError => e
734
+ print_log("failed", start, __method__, element)
735
+ raise "Error: #{e.message}"
736
+ end
737
+ else
738
+ print_log("failed", start, __method__, element)
739
+ raise "Error: Not found object: #{element}"
740
+ end
741
+ end
742
+
743
+ def uncheck_checkbox_radio(element)
744
+ start = Time.now
745
+ found_element = find_object(element)
746
+ if found_element != nil
747
+ begin
748
+ found_element.uncheck(allow_label_click: true)
749
+ print_log("passed", start, __method__, element)
750
+ rescue StandardError => e
751
+ print_log("failed", start, __method__, element)
752
+ raise "Error: #{e.message}"
753
+ end
754
+ else
755
+ print_log("failed", start, __method__, element)
756
+ raise "Error: Not found object: #{element}"
757
+ end
758
+ end
759
+
760
+ def verify_checkbox_radio_checked(element)
761
+ start = Time.now
762
+ found_element = find_object(element)
763
+ if found_element != nil
764
+ begin
765
+ if found_element.checked?
766
+ print_log("passed", start, __method__, element)
767
+ else
768
+ print_log("failed", start, __method__, element)
769
+ end
770
+ rescue StandardError => e
771
+ print_log("failed", start, __method__, element)
772
+ raise "Error: #{e.message}"
773
+ end
774
+ else
775
+ print_log("failed", start, __method__, element)
776
+ raise "Error: Not found object: #{element}"
777
+ end
778
+ end
779
+
780
+ def verify_checkbox_radio_not_checked(element)
781
+ start = Time.now
782
+ found_element = find_object(element)
783
+ if found_element != nil
784
+ begin
785
+ if found_element.checked?
786
+ print_log("failed", start, __method__, element)
787
+ else
788
+ print_log("passed", start, __method__, element)
789
+ end
790
+ rescue StandardError => e
791
+ print_log("failed", start, __method__, element)
792
+ raise "Error: #{e.message}"
793
+ end
794
+ else
795
+ print_log("failed", start, __method__, element)
796
+ raise "Error: Not found object: #{element}"
797
+ end
798
+ end
799
+
800
+ def verify_input_editable(element)
801
+ start = Time.now
802
+ found_element = find_object(element)
803
+ if found_element != nil
804
+ begin
805
+ if found_element.disabled?
806
+ print_log("passed", start, __method__, element)
807
+ else
808
+ print_log("failed", start, __method__, element)
809
+ end
810
+ rescue StandardError => e
811
+ print_log("failed", start, __method__, element)
812
+ raise "Error: #{e.message}"
813
+ end
814
+ else
815
+ print_log("failed", start, __method__, element)
816
+ raise "Error: Not found object: #{element}"
817
+ end
818
+ end
819
+
820
+ def verify_input_not_editable(element)
821
+ start = Time.now
822
+ found_element = find_object(element)
823
+ if found_element != nil
824
+ begin
825
+ if found_element.disabled?
826
+ print_log("failed", start, __method__, element)
827
+ else
828
+ print_log("passed", start, __method__, element)
829
+ end
830
+ rescue StandardError => e
831
+ print_log("failed", start, __method__, element)
832
+ raise "Error: #{e.message}"
833
+ end
834
+ else
835
+ print_log("failed", start, __method__, element)
836
+ raise "Error: Not found object: #{element}"
837
+ end
838
+ end
@@ -1,5 +1,4 @@
1
- @test
2
1
  Feature: demo
3
2
 
4
3
  Scenario: new scenario
5
- Given Go to Test Cycle Sumary of iTMS project
4
+ Given I open the page "http://google.com"
@@ -1,46 +1,3 @@
1
1
  And /I open the page "(.*)"/ do |url_site|
2
2
  execute_openbrowser(url_site)
3
3
  end
4
-
5
- Given /^test select execute$/ do
6
-
7
- execute_openbrowser("https://infodation.atlassian.net/plugins/servlet/ac/Infodation-tms/test-summary?project.key=IFDTMS&project.id=17400")
8
- # execute_settext("username", "cuong")
9
- # execute_click("okbutton")
10
- switch_to_iframe("iframe1")
11
-
12
- execute_click("verify")
13
- sleep(5)
14
- end
15
-
16
- When /^Go to Test Cycle Sumary of iTMS project$/ do
17
- execute_openbrowser("https://infodation.atlassian.net/plugins/servlet/ac/Infodation-tms/test-summary?project.key=IFDTMS&project.id=17400")
18
- sleep(5)
19
- switch_to_iframe("iframe1")
20
- execute_click("itms_cyclesumarylink")
21
- sleep(3)
22
- custom_action
23
- end
24
-
25
-
26
- def custom_action()
27
- begin
28
- browser = Capybara.current_session.driver.browser
29
- if browser.respond_to?(:clear_cookies)
30
- # Rack::MockSession
31
- browser.clear_cookies
32
- print_log("passed", start, _method_)
33
- elsif browser.respond_to?(:manage) and browser.manage.respond_to?(:delete_all_cookies)
34
- # Selenium::WebDriver
35
- browser.manage.delete_all_cookies
36
- print_log("passed", start, _method_)
37
- else
38
- print_log("failed", start, _method_)
39
- raise "Error: Don't know how to clear cookies. Weird driver?"
40
- end
41
- rescue Exception => e
42
- print_log("failed", start, _method_)
43
- raise "Error: #{e.message}"
44
- end
45
-
46
- end
@@ -1,26 +1,2 @@
1
- username: { xpath_selector: '//input[@id="login"]' }
2
- okbutton: { xpath_selector: '//input[@value="Check Inbox"]' }
3
- iframe: { xpath_selector: '//*[@class="ap-iframe-container iframe-init"]' }
4
- iframe1: { xpath_selector: '//iframe[contains(@id,"Infodation-tms__test-summary_")]' }
5
- verify: { xpath_selector: '//*[@id="aui-uid-1"]' }
6
- firstname:
7
- {
8
- xpath_selector: '/html/body/div[2]/table/tbody/tr/td[2]/table/tbody/tr[4]/td/table/tbody/tr/td[2]/table/tbody/tr[5]/td/form/table/tbody/tr[2]/td[2]',
9
- }
10
- lastname:
11
- {
12
- xpath_selector: '/html/body/div[2]/table/tbody/tr/td[2]/table/tbody/tr[4]/td/table/tbody/tr/td[2]/table/tbody/tr[5]/td/form/table/tbody/tr[3]/td[2]/input',
13
- }
14
- selectcountry:
15
- {
16
- xpath_selector: '/html/body/div[2]/table/tbody/tr/td[2]/table/tbody/tr[4]/td/table/tbody/tr/td[2]/table/tbody/tr[5]/td/form/table/tbody/tr[11]/td[2]/select',
17
- }
18
- loginjira_continuebutton: {xpath_selector: "//button[@id=\"login-submit\"]/span/span/span"}
19
- loginjira_password: {xpath_selector: "//input[@id=\"password\"]"}
20
- loginjira_username: {xpath_selector: "//input[@id=\"username\"]"}
21
- itms_cyclesumarylink: {xpath_selector: "//section[@id=\"content\"]//li[@class=\"menu-item\"]/a"}
22
- itms_createnewtestcyclebutton: {xpath_selector: "//button[@id=\"itms-sidebar-addnew-button\"]"}
23
- itms_createtestcycle_savebutton: {xpath_selector: "//button[@id=\"itms-dialog-confirm\"]"}
24
- itms_createtestcyle_alertmessage: {xpath_selector: "//section[@id=\"ITMS-dialog-cycle\"]//strong"}
25
- itms_clickheretocreatetestcycle: {xpath_selector: "//section[@class=\"aui-buttons\"]/button[3]/span"}
26
- itms_iframe_testsumary: { xpath_selector: '//iframe[contains(@id,"Infodation-tms__test-summary_")]' }
1
+ signupbutton: {xpath_selector: '//li[@class="mm-listitem"]//a[@href="#"][contains(text(),"T")]'}
2
+
@@ -5,5 +5,6 @@ require "capybara/cucumber"
5
5
  require "cucumber"
6
6
  require "yaml"
7
7
  require "selenium-webdriver"
8
+ require "colorize"
8
9
  require "itms_automation"
9
10
  require "report_builder"
@@ -12,7 +12,6 @@ AfterConfiguration do
12
12
  browser = Capybara.current_session.driver.browser
13
13
  browser.manage.delete_all_cookies
14
14
  end
15
-
16
15
  end
17
16
 
18
17
  def validate_params_exist
@@ -31,7 +30,7 @@ def getDriver
31
30
  when "chrome"
32
31
  @chrome_options = loadYAMLfile('config/chrome_options.yaml')
33
32
  Capybara.register_driver :selenium do |app|
34
- Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'],:desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: @chrome_options))
33
+ Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'],:desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: @chrome_options))
35
34
  end
36
35
  Capybara.current_driver = :selenium
37
36
  when "firefox"
@@ -52,26 +51,24 @@ def getDriver
52
51
  Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.internet_explorer(ieOptions: @ie_options))
53
52
  end
54
53
  Capybara.current_driver = :selenium
55
- # when "chrome_headless"
56
- # @chrome_headless_options = loadYAMLfile('config/chrome_headless_options.yaml')
57
- # Capybara.register_driver :selenium do |app|
58
- # Capybara::Selenium::Driver.new(app, :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: @chrome_headless_options))
59
- # end
60
- # Capybara.current_driver = :selenium_headless
61
- # when "firefox_headless"
62
- # @firefox_headless_options = loadYAMLfile('config/firefox_options.yaml')
63
- # Capybara.register_driver :selenium do |app|
64
- # Capybara::Selenium::Driver.new(app, :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.firefox(firefoxOptions: @firefox_headless_options))
65
- # end
66
- # Capybara.current_driver = :selenium_headless
54
+ when "chrome_headless"
55
+ @chrome_headless_options = loadYAMLfile('config/chrome_headless_options.yaml')
56
+ Capybara.register_driver :selenium do |app|
57
+ Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: @chrome_headless_options))
58
+ end
59
+ Capybara.current_driver = :selenium
67
60
  when "remote"
68
61
  @capabilities = loadYAMLfile('config/remote_options.yaml')
69
62
  Capybara.register_driver :selenium do |app|
70
63
  Capybara::Selenium::Driver.new(app, :url => ENV['SERVER_URL'], :desired_capabilities => @capabilities)
71
64
  end
72
65
  Capybara.current_driver = :selenium
73
- else
74
- raise "❌ ERROR: Unsupported browser: #{ENV['BROWSER']}. Available: chrome || firefox || safari || ie || remote"
66
+ else
67
+ raise "❌ ERROR: Unsupported browser: #{ENV['BROWSER']}. Available: chrome || chrome headless || firefox || safari || ie || remote"
68
+ end
69
+ unless ENV["SCREEN_RESOLUTION"].nil?
70
+ screen_resolution = ENV["SCREEN_RESOLUTION"].split("x")
71
+ Capybara.page.current_window.resize_to(screen_resolution[0], screen_resolution[1])
75
72
  end
76
73
  end
77
74
 
@@ -98,6 +95,7 @@ After do |scenario|
98
95
  # end
99
96
  # $browser_data = page.driver.browser.capabilities
100
97
  # p "$browser_data:#{$browser_data.inspect}"
98
+ FileUtils.rm_rf(Dir.glob('downloads/*'))
101
99
  end
102
100
 
103
101
  at_exit do
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itms_automation
3
3
  version: !ruby/object:Gem::Version
4
- version: '2.1'
4
+ version: '2.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anh Pham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-24 00:00:00.000000000 Z
11
+ date: 2020-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 3.6.0
20
17
  - - "~>"
21
18
  - !ruby/object:Gem::Version
22
19
  version: '3.6'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 3.6.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 3.6.0
30
27
  - - "~>"
31
28
  - !ruby/object:Gem::Version
32
29
  version: '3.6'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 3.6.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: cucumber
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -62,22 +62,22 @@ dependencies:
62
62
  name: rspec
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: 3.8.0
68
65
  - - "~>"
69
66
  - !ruby/object:Gem::Version
70
67
  version: '3.8'
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 3.8.0
71
71
  type: :runtime
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- version: 3.8.0
78
75
  - - "~>"
79
76
  - !ruby/object:Gem::Version
80
77
  version: '3.8'
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 3.8.0
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: parallel_tests
83
83
  requirement: !ruby/object:Gem::Requirement
@@ -102,20 +102,20 @@ dependencies:
102
102
  name: report_builder
103
103
  requirement: !ruby/object:Gem::Requirement
104
104
  requirements:
105
- - - ">="
105
+ - - "~>"
106
106
  - !ruby/object:Gem::Version
107
107
  version: '1.8'
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1.8'
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '1.8'
118
- - - "~>"
118
+ - - ">="
119
119
  - !ruby/object:Gem::Version
120
120
  version: '1.8'
121
121
  - !ruby/object:Gem::Dependency
@@ -155,7 +155,6 @@ files:
155
155
  - lib/itms_automation/version.rb
156
156
  - lib/itms_automation/web_steps_helper.rb
157
157
  - project/Gemfile
158
- - project/Gemfile.lock
159
158
  - project/README.md
160
159
  - project/Rakefile
161
160
  - project/config/chrome_headless_options.yaml
@@ -190,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
190
189
  - !ruby/object:Gem::Version
191
190
  version: '0'
192
191
  requirements: []
193
- rubygems_version: 3.0.6
192
+ rubygems_version: 3.1.2
194
193
  signing_key:
195
194
  specification_version: 4
196
195
  summary: SELENIUM WEBDRIVER WITH RUBY & CUCUMBER
@@ -1,92 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- addressable (2.7.0)
5
- public_suffix (>= 2.0.2, < 5.0)
6
- backports (3.15.0)
7
- builder (3.2.3)
8
- capybara (3.29.0)
9
- addressable
10
- mini_mime (>= 0.1.3)
11
- nokogiri (~> 1.8)
12
- rack (>= 1.6.0)
13
- rack-test (>= 0.6.3)
14
- regexp_parser (~> 1.5)
15
- xpath (~> 3.2)
16
- childprocess (3.0.0)
17
- colorize (0.8.1)
18
- cucumber (3.1.2)
19
- builder (>= 2.1.2)
20
- cucumber-core (~> 3.2.0)
21
- cucumber-expressions (~> 6.0.1)
22
- cucumber-wire (~> 0.0.1)
23
- diff-lcs (~> 1.3)
24
- gherkin (~> 5.1.0)
25
- multi_json (>= 1.7.5, < 2.0)
26
- multi_test (>= 0.1.2)
27
- cucumber-core (3.2.1)
28
- backports (>= 3.8.0)
29
- cucumber-tag_expressions (~> 1.1.0)
30
- gherkin (~> 5.0)
31
- cucumber-expressions (6.0.1)
32
- cucumber-tag_expressions (1.1.1)
33
- cucumber-wire (0.0.1)
34
- cucumber_priority (0.3.2)
35
- cucumber
36
- diff-lcs (1.3)
37
- gherkin (5.1.0)
38
- itms_automation (1.5)
39
- capybara (~> 3.29.0)
40
- colorize (~> 0.8.1)
41
- cucumber (~> 3.1)
42
- cucumber_priority (~> 0.3.2)
43
- parallel_tests (~> 2.7, >= 2.7.1)
44
- report_builder (~> 1.8, >= 1.8)
45
- rspec (~> 3.8, >= 3.8.0)
46
- selenium-webdriver (~> 3.6, >= 3.6.0)
47
- json (2.3.0)
48
- mini_mime (1.0.2)
49
- mini_portile2 (2.4.0)
50
- multi_json (1.14.0)
51
- multi_test (0.1.2)
52
- nokogiri (1.10.7)
53
- mini_portile2 (~> 2.4.0)
54
- parallel (1.19.1)
55
- parallel_tests (2.29.2)
56
- parallel
57
- public_suffix (4.0.3)
58
- rack (2.0.7)
59
- rack-test (1.1.0)
60
- rack (>= 1.0, < 3)
61
- regexp_parser (1.6.0)
62
- report_builder (1.8)
63
- json (>= 1.8.1)
64
- rspec (3.9.0)
65
- rspec-core (~> 3.9.0)
66
- rspec-expectations (~> 3.9.0)
67
- rspec-mocks (~> 3.9.0)
68
- rspec-core (3.9.1)
69
- rspec-support (~> 3.9.1)
70
- rspec-expectations (3.9.0)
71
- diff-lcs (>= 1.2.0, < 2.0)
72
- rspec-support (~> 3.9.0)
73
- rspec-mocks (3.9.1)
74
- diff-lcs (>= 1.2.0, < 2.0)
75
- rspec-support (~> 3.9.0)
76
- rspec-support (3.9.2)
77
- rubyzip (2.0.0)
78
- selenium-webdriver (3.142.6)
79
- childprocess (>= 0.5, < 4.0)
80
- rubyzip (>= 1.2.2)
81
- xpath (3.2.0)
82
- nokogiri (~> 1.8)
83
-
84
- PLATFORMS
85
- ruby
86
-
87
- DEPENDENCIES
88
- itms_automation
89
- report_builder
90
-
91
- BUNDLED WITH
92
- 2.0.2