Question #671416 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/671416

Ron Turrentine gave more information on the question:
I made some big changes to my script and got it working after I stripped
out the class and changed the class properties to global variables.

This is the working script, however I would love to get it working with
the functions as methods within a class:

#######################

import os
import shutil
import datetime

def takescreenshot():

    # import global variables
    global sscount
    global mypath
    global formatssname
    
    # increment screenshot count
    sscount += 1

    # format out filename using the SS count
    nextname = formatssname()

    # get our main full screen coords defined
    screen = (SCREEN.getX(), SCREEN.getY(), SCREEN.getW(), SCREEN.getH())

    # capture the defined screen      
    img = capture(*screen)

    # put the pieces of our new filename into a list
    strjoin = (mypath, nextname)

    # concatenate the path with the filename (putting a backslash between them)
    newFile = "\\".join(strjoin)

    # save the screenshot
    shutil.copy(img, newFile)

def formatssname():

    # import global variable
    global sscount

    strPad = ""

    strcount = str(sscount)

    # Determine length of our SS Count, then prepend the appropriuate # of 
zeroes to its number and append a .png
    if len(strcount) == 1:
        strPad = "0000" + strcount
    elif len(strcount) == 2:
        strPad = "000" + strcount
    elif len(strcount) == 3:
        strPad = "00" + strcount
    elif len(strcount) == 4:
        strPad = "0" + strcount
        
    strPad = strPad + '.png'

    return strPad

def setupbrowser():

    # import global variables
    global browser
    global siteurl

    # extract browser filename from PDA.browser property
    browsername = os.path.basename(browser)

    # Close all instances of the aforementioned browser
    closeApp(browsername)

    wait(5)

    # Define our browser object
    pdabrowser = App(browser)

    wait(2)

    # Open the browser
    pdabrowser.open()

    wait(5)

     #Focus on the browser
    pdabrowser.focus()

    wait(2)

    # Access the address bar
    type("l", KeyModifier.CTRL)

    wait(2)

    # Enter Site URL and navigate to it
    type(siteurl + Key.ENTER)

def createfolders():

    # import global variables
    global fullpath
    global mypath

    # Concatenate  full path string
    fullpath = backslash.join(pathinfo)
    
    # Store path in dir obj
    mypath = os.path.dirname(fullpath)
    
    # Check if path exists.  If not, create it
    if not os.path.exists(mypath):
        os.makedirs(mypath)    

# Setup global variables and environment
basepath   = "c:\\screenshots\\doesthiswork"
browser    = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"
testsite   = "Test"
testtype   = "Default"
sscount    = 0
folderdate = 
str(datetime.date.strftime(datetime.datetime.date(datetime.datetime.now()),'%m-%d-%y'))
fullpath   = ""
siteurl    = "https://www.google.com/";
backslash  = "\\"
pathinfo   = (basepath, testsite, folderdate, testtype)
mypath     = ""

# Create our folders
createfolders()

# Setup our browser
setupbrowser()

# take screenshot
takescreenshot()

-- 
You received this question notification because your team Sikuli Drivers
is an answer contact for Sikuli.

_______________________________________________
Mailing list: https://launchpad.net/~sikuli-driver
Post to     : sikuli-driver@lists.launchpad.net
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp

Reply via email to