ddtframework 0.0.0
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 +15 -0
- data/lib/DDTFramework.rb +40 -0
- data/lib/DDTFramework/Create_action_classes.rb +14 -0
- data/lib/DDTFramework/Create_class_for_browser_open.rb +31 -0
- data/lib/DDTFramework/Create_flow_class.rb +18 -0
- data/lib/DDTFramework/Create_folder_structure.rb +37 -0
- data/lib/DDTFramework/Create_main_class.rb +42 -0
- data/readme.docx +0 -0
- metadata +50 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NDMyZjY0MGE3YzIyNTJkMWM0ZDU3OGU1M2ZmMTc3OGE4N2UyZTk5Ng==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NDMxMjcyMjliMzIxMmVlNDBmYzQ1OTM5OTYyMzJjNmUxNjhmMDk3MQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NzI2YjllMmI3NDA2MThjM2RhMTRlOWRmNDA3ODc1MTQ2M2RjYzg2OTMzYWFm
|
10
|
+
YmQxMjQ3ZWI0YzdhNTJmY2M3NDY3ODk3ZTE2YjhhMDRkZGM1YmQwZDBiNzEw
|
11
|
+
M2Y0M2Q1ZWQyMmJkYTEwMmQ4Nzk0YzhkMmU3MTAwMjQwN2I1MjE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NDIyMDUxMDhiOTBhYjQ4YzAzYzNjM2RjODdkNDk5YjBmMzczMDVhYTIyMTE3
|
14
|
+
NWYyZTZhZjQxM2E3OWRlZGE5OGFiZTg0YzAwMWY0NjhjZTNlZTUyNGRiNDI5
|
15
|
+
MWY5MjAzMDA4ZGY4NmM4MDNiOGUyNzZmOTg5YjViMTkzYWJiMWI=
|
data/lib/DDTFramework.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'test/unit'
|
3
|
+
require 'DDTFramework/Create_folder_structure'
|
4
|
+
require 'DDTFramework/Create_action_classes'
|
5
|
+
require 'DDTFramework/Create_class_for_browser_open'
|
6
|
+
require 'DDTFramework/Create_main_class'
|
7
|
+
require 'DDTFramework/Create_flow_class'
|
8
|
+
|
9
|
+
class DDTFramework < Test::Unit::TestCase
|
10
|
+
def test_main
|
11
|
+
actionClass = Array.new
|
12
|
+
actionClassNumber = 1
|
13
|
+
|
14
|
+
print "What is the project name: "
|
15
|
+
project = gets().chomp
|
16
|
+
project = project.capitalize
|
17
|
+
print "What is the site name: "
|
18
|
+
site = gets().chomp
|
19
|
+
site = site.downcase
|
20
|
+
|
21
|
+
Create_folder_structure.new.main(project)
|
22
|
+
|
23
|
+
while(true)
|
24
|
+
print "What is the action class name: <Enter ZERO to exit> "
|
25
|
+
actionClass[actionClassNumber] = gets().chomp
|
26
|
+
if(actionClass[actionClassNumber] == '0')
|
27
|
+
break
|
28
|
+
end
|
29
|
+
actionClass[actionClassNumber] = actionClass[actionClassNumber].capitalize
|
30
|
+
Create_action_classes.new.main(actionClass[actionClassNumber], project)
|
31
|
+
actionClassNumber = actionClassNumber + 1
|
32
|
+
end
|
33
|
+
Create_class_for_browser_open.new.main(project)
|
34
|
+
Create_main_class.new.main(project, site)
|
35
|
+
Create_flow_class.new.main(project, site, actionClass, actionClassNumber)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class Create_action_classes
|
2
|
+
def main(actionClassName, project)
|
3
|
+
fileName = 'C:\Ruby\Projects\\' + project + '\\' + actionClassName + '.rb'
|
4
|
+
f3 = File.open(fileName, 'w')
|
5
|
+
f3.puts('class '+ actionClassName)
|
6
|
+
f3.puts("\tdef initialize(browser)")
|
7
|
+
f3.puts("\t\t@browser = browser")
|
8
|
+
f3.puts("\tend")
|
9
|
+
f3.puts("\tdef main()")
|
10
|
+
f3.puts(" ")
|
11
|
+
f3.puts("\tend")
|
12
|
+
f3.puts('end')
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class Create_class_for_browser_open
|
2
|
+
def main(project)
|
3
|
+
fileName = 'C:\Ruby\Projects\\' + project + '\\' + 'CBrowser.rb'
|
4
|
+
f3 = File.open(fileName, 'w')
|
5
|
+
f3.puts "require \'watir-webdriver\'"
|
6
|
+
|
7
|
+
f3.puts "class CBrowser"
|
8
|
+
f3.puts "\t# Creating the Browser"
|
9
|
+
f3.puts "\t# Also navigate to the site, given by the siteName"
|
10
|
+
f3.puts "\t# Return the browser to request"
|
11
|
+
f3.puts "\t# By default it will open FireFox"
|
12
|
+
f3.puts "\tdef createFFBrowser(siteName)"
|
13
|
+
f3.puts "\t\tbrowser = Watir::Browser.new"
|
14
|
+
f3.puts "\t\tbrowser.goto (siteName)"
|
15
|
+
f3.puts "\t\treturn browser"
|
16
|
+
f3.puts "\tend"
|
17
|
+
f3.puts "\t# :IE - Will open Internet Explorer Browser"
|
18
|
+
f3.puts "\tdef createIEBrowser(siteName)"
|
19
|
+
f3.puts "\t\tbrowser = Watir::Browser.new:IE"
|
20
|
+
f3.puts "\t\tbrowser.goto (siteName)"
|
21
|
+
f3.puts "\t\treturn browser"
|
22
|
+
f3.puts "\tend"
|
23
|
+
f3.puts "\t# :Chrome - Will open Chormoe Browser"
|
24
|
+
f3.puts "\tdef createCHBrowser(siteName)"
|
25
|
+
f3.puts "\t\tbrowser = Watir::Browser.new:Chrome"
|
26
|
+
f3.puts "\t\tbrowser.goto (siteName)"
|
27
|
+
f3.puts "\t\treturn browser"
|
28
|
+
f3.puts "\tend"
|
29
|
+
f3.puts "end"
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class Create_flow_class
|
2
|
+
def main(project, site, actionClass, actionClassNumber)
|
3
|
+
fileName = 'C:\Ruby\Projects\\' + project + '\\' + 'Flow.rb'
|
4
|
+
f3 = File.open(fileName, 'w')
|
5
|
+
1.upto(actionClassNumber - 1).each {|i| f3.puts "require \'.\\" + actionClass[i] + "\'"}
|
6
|
+
f3.puts("")
|
7
|
+
f3.puts("")
|
8
|
+
f3.puts('class Flow')
|
9
|
+
f3.puts("\tdef initialize(browser, site)")
|
10
|
+
f3.puts("\t\t@browser = browser")
|
11
|
+
f3.puts("\t\t@site = site")
|
12
|
+
f3.puts("\tend")
|
13
|
+
f3.puts("\tdef main()")
|
14
|
+
1.upto(actionClassNumber - 1).each {|i| f3.puts("\t\t" + actionClass[i] + ".new(@browser).main()")}
|
15
|
+
f3.puts("\tend")
|
16
|
+
f3.puts('end')
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'win32ole'
|
2
|
+
|
3
|
+
class Create_folder_structure
|
4
|
+
def main(name)
|
5
|
+
excel = WIN32OLE::new('excel.Application')
|
6
|
+
excel.visible = true
|
7
|
+
workbook = excel.Workbooks.Add
|
8
|
+
wbWin = workbook.Worksheets('Sheet1')
|
9
|
+
|
10
|
+
wbWin.cells(1,1).value = 'Matt'
|
11
|
+
wbWin.cells(2,1).value = 'Tony'
|
12
|
+
wbWin.cells(3,1).value = 'Link'
|
13
|
+
wbWin.cells(4,1).value = 'Pete'
|
14
|
+
wbWin.cells(1,2).value = 'Java'
|
15
|
+
wbWin.cells(2,2).value = 'Ruby'
|
16
|
+
wbWin.cells(3,2).value = 'C#'
|
17
|
+
wbWin.cells(4,2).value = 'Python'
|
18
|
+
wbWin.cells(1,3).value = 'Both'
|
19
|
+
wbWin.cells(2,3).value = 'Both'
|
20
|
+
wbWin.cells(3,3).value = 'Both'
|
21
|
+
wbWin.cells(4,3).value = 'Both'
|
22
|
+
wbWin.cells(1,4).value = '1.9.2'
|
23
|
+
wbWin.cells(2,4).value = '1.9.2'
|
24
|
+
wbWin.cells(3,4).value = '1.9.2'
|
25
|
+
wbWin.cells(4,4).value = '1.9.2'
|
26
|
+
|
27
|
+
FileUtils.mkdir_p 'C:\Ruby\Input\\' + name
|
28
|
+
|
29
|
+
workbook.saveAs('C:\Ruby\Input\\' + name + '\input.xlsx')
|
30
|
+
workbook.close
|
31
|
+
excel.quit
|
32
|
+
|
33
|
+
FileUtils.mkdir_p 'C:\Ruby\Output\\' + name
|
34
|
+
FileUtils.mkdir_p 'C:\Ruby\Projects\\' + name
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
class Create_main_class
|
2
|
+
def main(project, site)
|
3
|
+
fileName = 'C:\Ruby\Projects\\' + project + '\\' + 'Main.rb'
|
4
|
+
f3 = File.open(fileName, 'w')
|
5
|
+
f3.puts ("require \'test/unit\'")
|
6
|
+
f3.puts ("require \'.\\Flow\'")
|
7
|
+
f3.puts ("require \'.\\CBrowser\'")
|
8
|
+
f3.puts ("require \'win32ole\'")
|
9
|
+
f3.puts ("")
|
10
|
+
f3.puts ("")
|
11
|
+
f3.puts ("class Main" + " < Test::Unit::TestCase")
|
12
|
+
f3.puts("\tdef test_" + project)
|
13
|
+
|
14
|
+
f3.puts("\t\t#Sample website has been created.")
|
15
|
+
f3.puts("\t\t#Sample excel sheet has been created for testing and understanding. This file will be in the input folder.")
|
16
|
+
f3.puts("\t\t#Sample excel sheet will be saved in the output folder.")
|
17
|
+
f3.puts("")
|
18
|
+
|
19
|
+
f3.puts("\t\tinputFileName = \'C:\\Ruby\\Input\\" + project + "\\input.xlsx\'")
|
20
|
+
f3.puts("\t\toutputFileName = \'C:\\Ruby\\Output\\" + project + "\\output.xlsx\'")
|
21
|
+
f3.puts("\t\texcel = WIN32OLE::new(\'excel.Application\')")
|
22
|
+
f3.puts("\t\texcel.visible = true")
|
23
|
+
f3.puts("\t\tworkbook = excel.Workbooks.Open(inputFileName)")
|
24
|
+
f3.puts("\t\twbWin = workbook.Worksheets(\'Sheet1\')")
|
25
|
+
f3.puts("\t\twbWin.Select")
|
26
|
+
|
27
|
+
f3.puts("")
|
28
|
+
f3.puts("\t\tsite = \'" + site + "\'")
|
29
|
+
f3.puts("\t\tbrowser = CBrowser.new.createFFBrowser(site)")
|
30
|
+
f3.puts("\t\tFlow.new(browser, site).main()")
|
31
|
+
f3.puts("\t\tsleep 2")
|
32
|
+
f3.puts("\t\tbrowser.close")
|
33
|
+
f3.puts("")
|
34
|
+
|
35
|
+
f3.puts("\t\tworkbook.saveAs(outputFileName)")
|
36
|
+
f3.puts("\t\tworkbook.close")
|
37
|
+
f3.puts("\t\texcel.quit")
|
38
|
+
|
39
|
+
f3.puts("\tend")
|
40
|
+
f3.puts("end")
|
41
|
+
end
|
42
|
+
end
|
data/readme.docx
ADDED
Binary file
|
metadata
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ddtframework
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Matt Cow
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-09-24 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: A simple and Easy DDT Automation Framework
|
14
|
+
email: watir.webdriver@gmail.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- readme.docx
|
20
|
+
- lib/DDTFramework.rb
|
21
|
+
- lib/DDTFramework/Create_action_classes.rb
|
22
|
+
- lib/DDTFramework/Create_class_for_browser_open.rb
|
23
|
+
- lib/DDTFramework/Create_flow_class.rb
|
24
|
+
- lib/DDTFramework/Create_folder_structure.rb
|
25
|
+
- lib/DDTFramework/Create_main_class.rb
|
26
|
+
homepage: http://rubygems.org/gems/DDTFramework
|
27
|
+
licenses:
|
28
|
+
- MIT
|
29
|
+
metadata: {}
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
requirements: []
|
45
|
+
rubyforge_project:
|
46
|
+
rubygems_version: 2.0.7
|
47
|
+
signing_key:
|
48
|
+
specification_version: 4
|
49
|
+
summary: New DDT Automation Framework
|
50
|
+
test_files: []
|