logsui/tsrc/MATTItests/RunTests.rb
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 04 May 2010 12:39:37 +0300
changeset 0 4a5361db8937
permissions -rw-r--r--
Revision: 201015 Kit: 201018

#!/usr/bin/env ruby
###################################################################
# Environment constants. Change these according to your environment
# Path to your script directory
@scriptdir = "C:/matti/script/QTLogs/"
# Path to your test case list
@testlist = "C:/matti/script/QTLogs/testlist.txt"
# Path to your log directory file
@logfile = "C:/matti/script/QTLogs/logs/log.txt"
# Path to test result file used by ATS3
@results = "C:/matti/script/QTLogs/logs/testresults.txt"
###################################################################

require 'logger'
require 'socket'
require 'ftools'
require 'matti'
require @scriptdir + 'TC_RecentCalls'
require @scriptdir + 'TC_DialledCalls'
require @scriptdir + 'TC_Toolbar'
require @scriptdir + 'TC_MissedCalls'
require @scriptdir + 'TC_ReceivedCalls'
require @scriptdir + 'TC_OptionsMenu'
require @scriptdir + 'TC_EventDetails'

# create Log file
#time = Time.now.strftime("%d-%m-%Y_%H-%M-%S")
#logname = time + ".log"
if(File.exists?(@logfile))
  File.delete(@logfile)
end
file = open(@logfile, File::WRONLY | File::CREAT)
log = Logger.new(file)
#log = Logger.new(@logdir + logname)
log.debug("Establishing HTI connection to the Phone")

#fileresults = open(@results, File::WRONLY | File::CREAT)
logResults = File.new(@results, File::WRONLY | File::CREAT)


begin
	@my_sut = MATTI.sut(:Id => 'sut_s60_qt')
	log.debug("Connection established")
rescue
	log.fatal("Error: HTI connection establishment failed")
	exit()
end


if(File.exists?(@testlist) == true)
	f = File.new(@testlist, "r")
	begin
		while (line = f.readline)
	  	line.chomp
	  	if(!line.include? "//")
		  	puts "Starting to run Test case: " + line[0..(line.index('-')-2)]
		  	log.debug("- - - - - - - - - - ")
		  	log.debug("- - - - - - - - - - ")
		    
		    #testname = line[(line.index('.')+1)..line.length].chomp
		    testname = line[(line.index('.')+1)..(line.index('-')-2)].chomp
		    logResults.puts("Title:[#{testname}]")
		    
		    if(line.include? "RecentCalls")
		    	log.debug("Set:[RecentCalls]")
		    	log.debug("Title:[#{testname}]")
		      testSet = TC_RecentCalls.new(log, @my_sut)
		    end
		    if(line.include? "Toolbar")
		    	log.debug("Set:[Toolbar]")
		    	log.debug("Title:[#{testname}]")
		      testSet = TC_Toolbar.new(log, @my_sut)
		    end
		    if(line.include? "DialledCalls")
		    	log.debug("Set:[DialledCalls]")
		    	log.debug("Title:[#{testname}]")
		      testSet = TC_DialledCalls.new(log, @my_sut)
		    end
		    if(line.include? "MissedCalls")
		    	log.debug("Set:[MissedCalls]")
		    	log.debug("Title:[#{testname}]")
		     	testSet = TC_MissedCalls.new(log, @my_sut)
		    end
		    if(line.include? "ReceivedCalls")
		    	log.debug("Set:[ReceivedCalls]")
		    	log.debug("Title:[#{testname}]")
		     	testSet = TC_ReceivedCalls.new(log, @my_sut)
		    end
		    if(line.include? "OptionsMenu")
		    	log.debug("Set:[OptionsMenu]")
		    	log.debug("Title:[#{testname}]")
		     	testSet = TC_OptionsMenu.new(log, @my_sut)
		    end
		    if(line.include? "EventDetails")
		    	log.debug("Set:[EventDetails]")
		    	log.debug("Title:[#{testname}]")
		     	testSet = TC_EventDetails.new(log, @my_sut)
		    end
		    result = testSet.run(testname)
		    
		    if result == 0
		    	puts 'Result: 0 [] ==> PASSED'
		    	log.debug('### Result: 0 [] ==> PASSED ###')
		    	logResults.puts('Result: 0 [] ==> PASSED')
		    else 
		    	puts "Result: #{result} [Case failed, check log] ==> FAILED"
		    	log.debug("### Result: #{result} [Case failed, check log] ==> FAILED ### ")
		    	logResults.puts("Result: #{result} [Case failed, check log] ==> FAILED")
		    end
		  end
		  
		end
	 rescue EOFError
	   f.close
	 end
else
	log.error('Test list not found')
end
	



		
	#@my_sut.capture_screen(:Filename => 'c:/temp/live.png')
	#puts @my_sut.application.attribute("FullName")
	#f = File.new('c:\temp\decorator.xml', "w")
	#xml = @my_sut.get_ui_dump()
	#f.puts xml