ddtframework 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|