CfgParserbreaking python脚本netbeans sikuli的函数语句

发布于 2024-10-12 15:54:32 字数 18861 浏览 5 评论 0原文

由于我不明白以下行导致我的 sikuli/python 脚本中断的原因。我怀疑这是因为我读取配置文件的代码有错误。我不明白为什么,我错过了什么。

enter code here

如果存在(SignIn_EULA,30): 单击(模式(SignIn_EULA) 这是 def 系列的底部,并且在 NetBeans 和 Sikuli 中总是出错。此配置解析器未读取值(我认为)

from sikuli.Sikuli import*
import glob
import os
import subprocess
import ConfigParser

#config.read('C:\\SikuliTest\\UserA.ini')
config = ConfigParser.ConfigParser()
#config.RawConfigParser.read('C:\\SikuliTest\\UserA.ini')
config.readfp(open('C:\\SikuliTest\\UserA.ini'))
#config = ConfigParser.RawConfigParser
#config.readfp(open('C:\\SikuliTest\\UserA.cfg'))

#config.RawConfigParser.read('C:\\SikuliTest\\UserA.ini')
#ConfigParser.RawConfigParser.read('C:\\SikuliTest\\UserA.ini')

dirname = config.get('Install', 'dirname')
filespec = config.get('Install', 'filespec')
BundlePathSignIn = config.get('SignIn','BundlePathSignIn')
LoginUser = config.get('SignIn','LoginUser')
Password = config.get('SignIn','Password')
PasswordInputField = config.get('SignIn','SignIn_PasswordInput')
Launch = config.get('SignIn','SignIn_Launch')
LoginPanel = config.get('SignIn','SignIn_BlankPanel')
FullLoginPanel = config.get('SignIn','SignIn_BlankPanel')
TOF1L = config.getint('SignIn','TOF1L')
TOF2L = config.getint('SignIn','TOF2L')
SignIn_Button = config.get('SignIn','SignIn_SignInButton')
TOF1LS = config.getint('SignIn','TOF1LS')
TOF2LS = config.getint('SignIn','TOF2LS')
SignIn_EULA = config.get('SignIn','SignIn_EULA')
TOF1E = config.getint('SignIn','TOF1E')
TOF2E = config.getint('SignIn','TOF2E')
TOF1S = config.getint('SignIn', 'TOF1S')
TOF2S = config.getint('SignIn','TOF2S')
SignIn_SignIn = config.get('SignIn','SignIn_SignIn')#not sure of the function
BundlePathEULA = config.get('EULA','BundlePathEULA')
SignIn_EULA = config.get('EULA','SignIn_EULA')
SignIn_MediaRouter = config.get('EULA','SignIn_MediaRouter')
BundlePathM = config.get('MediaRouter','BundlePathMediaRouter')
SignIn_MediaRouter = config.get('MediaRouter','SignIn_MediaRouter')
TOF1M = config.getint('MediaRouter','MediaRouter_TOF1M')
TOF2M = config.getint('MediaRouter','MediaRouter_TOF2M')
SignIn_OKButton = config.get('MediaRouter','SignIn_OKButton')
BundlePathCL = config.get('ContactList','BundlePathContactList')
ContactList_WelcomePanel = config.get('ContactList','ContactList_WelcomePanel')
ContactList_Add = config.get('ContactList','ContactList_AddContact')
ContactList_AddContact = config.get('ContactList','ContactList_AddContact')
ContactList_AddContactUser = config.get('ContactList', 'ContactList_AddContactUser')#Add a path to user B login ID
ContactList_GreenDot = config.get('ContactList','ContactList_GreenDot')
ContactList_TOF1CL = config.getint('ContactList','TOF1CL')
ContactList_TOF2CL = config.getint('ContactList','TOF2CL')
ContactList_AcceptAddToList = config.get('ContactList','ContactList_AcceptAddToList')
ContactList_TOF3CL = config.getint('ContactList','AcceptAddToList_TOF3CL')
ContactList_TOF4CL = config.getint('ContactList','AcceptAddToList_TOF4CL')
ContactList_TOF5CL = config.getint('ContactList','TOF5CL')
ContactList_TOF6CL = config.getint('ContactList','TOF6CL')
ContactList_TOF9CL = config.getint('ContactList','TOF9CL')
ContactList_TOF10CL = config.getint('ContactList','TOF10CL')
ContactList_MessageVerifyRemoval= config.get('ContactList','ContactList_MessageVerifyRemoval')
ContactList_SignOut = config.get('ContactList','ContactList_SignOut')
BundlePathCF = config.get('Conference','BundlePathConference')
Conference_GreenDot = config.get('Conference','Conference_GreenDot')
Conference_BlueLaunchWindow = config.get('Conference','Conference_BlueLaunchWindow')
Conference_Start = config.get('Conference','Conference_Start')
Conference_InConferenceSpeaker = config.get ('Conference', 'Conference_InConferenceSpeaker')
Conference_MeetingSetupTimeout = config.get ('Conference', 'Conference_MeetingSetupTimeout')
Conference_MeetingRequestDeclined = config.get ('Conference', 'Conference_MeetingRequestDeclined')
Conference_Close = config.get ('Conference', 'Conference_Close')
Conference_AcceptMeetingRequest = config.get('Conference','Conference_AcceptMeetingRequest')
Conference_InConferenceSpeaker = config.get ('Conference', 'Conference_InConferenceSpeaker')
TOF5CL = config.getint('Conference','TOF5CL')
TOF6CL = config.getint('Conference','TOF6CL')
Conference_ViewingLens = config.get ('Conference', 'Conference_ViewingLens')
Conference_EndedAllLeft = config.get ('Conference', 'Conference_EndedAllLeft')
TOF7CL = config.getint('Conference','TOF7CL')
TOF8CL = config.getint('Conference','TOF8CL')
BundlePathDK = config.get('Desktop','BundlePathDesktop')
Desktop_ExpandSysTray = config.get('Desktop','Desktop_ExpandSysTray')
Desktop_SysTrayClose = config.get('Desktop','Desktop_SysTrayClose')
Desktop_SysTraySkyRoomIcon = config.get('Desktop','Desktop_SysTrayIcon')
Desktop_SysTrayIcon = config.get ('Desktop', 'Desktop_SysTrayIcon_RTClickMenu')
Desktop_TOF1DK = config.getint('Desktop','TOF1DK')
Desktop_TOF2DK = config.getint('Desktop','TOF2DK')

setShowActions(True)# 显示 GUI 中的所有活动

def ExitVCDKillProcess():
    setBundlePath (BundlePathDK)
    click(Pattern(Desktop_ExpandSysTray).targetOffset(0,0))#killing the skyroom process
    if exists(Desktop_SysTraySkyRoomIcon, 10):
        rightClick (Desktop_SysTraySkyRoomIcon)
        type(Key.DOWN + Key.DOWN + Key.DOWN + Key.ENTER )#keys down to the exit command of the Right Click menu
        rightClick (Desktop_SysTrayClose)#Right click called to close the systray menu via the escape key
        type(Key.ESC)#closes the systray window
        wait(10)
        Uninstall()
    else:
        Uninstall()

def AddContact_AtoB():
    setBundlePath(BundlePathCL)
    if exists(ContactList_WelcomePanel, 20):
        #popup("Begin add user")
        click(ContactList_Add)
        type(Key.DOWN)
        wait(1)
        type(Key.ENTER) #Launches the add contact dialog
        #type (Key.DOWN + Key.DOWN) Will launch the add via directory search.  Make new function or branch for this
        wait(1)# wait displays the add contact hover window
    if exists(ContactList_AddContact, 20):
        # popup("Add contact dialog displayed")
        type(ContactList_AddContactUser)
        wait(1)
        click(Pattern(ContactList_AddContact).targetOffset(ContactList_TOF1CL,ContactList_TOF2CL))
        #popup("verify userID exists")
        wait(1)
    if exists(ContactList_GreenDot, 10):
        #popup("Add contact successful")
        wait(2)
        ConferenceInviteAtoB()

def ConferenceInviteAtoB():
    setBundlePath(BundlePathCF)
    #click on the avaliable user green dot at top contact anonymous to sender
    if exists(Conference_GreenDot, FOREVER): # verifying confernce invite is sent only when recipient is ready
        click(Conference_GreenDot)
    if exists(Conference_BlueLaunchWindow, 20): # check for the color change
        click(Conference_Start)
    if exists(Pattern(Conference_InConferenceSpeaker).similar(0.83),FOREVER):
        UserADrawsLens()

def UserADrawsLens():
    setBundlePath(BundlePathCF)
    if exists(Conference_ControlPanel,FOREVER ):
        click(Conference_DrawLens)
        setShowActions(True)
        x1, y1, x2, y2 = (100, 100, 500, 600)
        start = Location(x1, y1)
        end = Location(x2, y2)
        stepX = 1 # adjust this as needed
        stepY = int((y2-y1)/((x2-x1)/stepX))
        run = start
        mouseMove(start); wait(1)
        mouseDown(Button.LEFT); wait(1)
        while run.getX() < end.getX():
            run = run.right(stepX).below(stepY) # use below instead of down a
        mouseMove(run)
        mouseMove(end)
        mouseUp()
        wait(5)
        wait (10)
        click (Conference_StopSharing)
        LeaveConference()



def SignOut():
    setBundlePath(BundlePathCL)
    wait(2)
    if exists(ContactList_DropList, 20):
        click (Pattern(ContactList_DropList).targetOffset(ContactList_TOF9CL,ContactList_TOF10CL))
        type (Key.DOWN + Key.DOWN + Key.DOWN + Key.DOWN + Key.DOWN + Key.ENTER)
        # signsout
    if exists(LoginPanel,FOREVER):
        wait(10)
    exit()

def RemoveContact():
    setBundlePath(BundlePathCL)
    rightClick(ContactList_GreenDot)
    type(Key.DOWN+KEY.ENTER)
    if exists(ContactList_MessageVerifyRemoval, 20):
        click(Pattern(ContactList_MessageVerifyRemoval).targetOffset(ContactList_TOF5CL,ContactList_TOF6CL))
        SignOut()


def MediaRouter():
    setBundlePath(BundlePathM)
    wait(1)
    if exists(LoginMediaRouterScreen, 30):
        click(Pattern(LoginMediaRouter).targetOffset(TOF1M, TOF2M))
        wait(1)#wait needed to support droplist navigation
        type(Key.DOWN + Key.DOWN + Key.DOWN + Key.ENTER)# selects Fort Collins
        wait(1)
        click(Pattern(OK_Button).targetOffset(0,0))
        wait(5)
        AddContact_AtoB()

def SignIn():
    setBundlePath(BundlePathSignIn)
    if exists (FullLoginPanel, 30):
        type(Pattern(SignIn_SignIn).targetOffset(TOF1S,TOF2S), LoginUser)
        wait(1)
        type(Pattern(PasswordInputField).targetOffset(TOF1L,TOF2L), Password)
        wait(1)
        click (Pattern(SignIn_Button).targetOffset(TOF1LS, TOF2LS))
        wait(5)
    if exists(SignIn_EULA,30):
        click(Pattern(SignIn_EULA)
        MediaRouter()

##The config file follows
ContactList]
bundlepathcontactlist = C:\SikuliTest\ImageLibrary\96dpi\ContactList
tof10cl = -1
tof2cl = 81
acceptaddtolist_tof3cl = 89
contactlist_addcontactuserb = michael.richardson02
contactlist_messageverifyremoval = ContactList_MessageVerifyRemoval.png
contactlist_addcontactuser = michael.richardson02
contactlist_signout = ContactList_SignOut.png
tof6cl = -1
contactlist_acceptaddtolist = ContactList_AcceptAddToList.png
acceptaddtolist_tof4cl = 40
contactlist_welcomepanel = ContactList_WelcomePanel.png
contactlist_greendot = ContactList_GreenDot.png
tof5cl = 17
contactlist_addcontact = ContactList_AddContact.png
tof9cl = 17
tof1cl = 135

[Desktop]
desktop_systrayclose = Desktop_SysTrayClose.png
tof2dk = 14
desktop_expandsystray = Desktop_ExpandSysTray.png
tof1dk = -3
desktop_systrayicon = Desktop_SysTrayIcon.png
bundlepathdesktop = C:\SikuliTest\ImageLibrary\96dpi\Desktop
desktop_systrayicon_rtclickmenu = Desktop_SysTrayIcon_RTClickMenu.png

[MediaRouter]
signin_okbutton = SignIn_OKButton.png
signin_mediarouter = SignIn_MediaRouter.png
mediarouter_tof1m = 147
mediarouter_tof2m = 7
bundlepathmediarouter = C:\SikuliTest\ImageLibrary\96dpi\SignIn

[EULA]
signin_mediarouter = SignIn_MediaRouter.png
signin_eula = SignIn_EULA.png
bundlepatheula = C:\SikuliTest\ImageLibrary\96dpi\SignIn

[Install]
dirname = Z:\BUILDS\Daily_BUILDS\QA_MainBranch_Install\*.install
filespec = setup.exe

[SignIn]
signin_blankpanel = SignIn_BlankPanel.png
signin_signin = SignIn_SignIn.png
tof1e = 506
tof2e = 444
signin_eula = SignIn_EULA.png
tof1ls = -63
tof1s = -84
tof2s = -58
tof2l = -11
tof2ls = 151
bundlepathsignin = C:\SikuliTest\ImageLibrary\96dpi\SignIn
signin_signinbutton = SignIn_SignInButton.png
tof1l = -92
signin_launch = SignIn_Launch.png
password = skyroom
signin_passwordinput = SignIn_PasswordInput.png
loginuser = [email protected]

[Conference]
conference_bluelaunchwindow = Conference_BlueLaunchWindow.png
tof10cl = 46
contactlist_droplist = ContactList_DropList
conference_greendot = Conference_GreenDot.png
conference_drawlens = Conference_DrawLens.png
conference_inconferencespeaker = Conference_InConferenceSpeaker.png
tof6cl = 57
conference_viewinglens = Conference_ViewingLens.png
conference_meetingsetuptimeout = Conference_MeetingSetupTimeout.png
bundlepathconference = C:\SikuliTest\ImageLibrary\96dpi\Conference
tof8cl = 46
tof7cl = 126
tof5cl = -76
conference_controlpanel = Conference_ControlPanel.png
conference_stopsharing = Conference_StopSharing.png
conference_endedallleft = Conference_EndedAllLeft.png
conference_leave = Conference_Leave.png
conference_start = Conference_Start.png
conference_acceptmeetingrequest = Conference_AcceptMeetingRequest.png
conference_meetingrequestdeclined = Conference_MeetingRequestDeclined.png
conference_close = Conference_Close.png
tof9cl = 126

#The create config script follows:
from sikuli.Sikuli import * #



import ConfigParser
config = ConfigParser.RawConfigParser()
#cfgfile = open("Z:\\ZZZautomation\\Sikuli\\Config\\UserA.ini",'w')
cfgfile = open("C:\\SikuliTest\\UserA.ini",'w')#local config file
#change path to desired location for the cfg file

#Install any user
config.add_section('Install')
#path requires mapping of share to z
config.set('Install', 'dirname',"Z:\\BUILDS\\Daily_BUILDS\\QA_MainBranch_Install\\*.install" )
config.set('Install', 'filespec',"setup.exe")
#EulaParamerters
config.add_section('EULA')
#config.set('EULA','BundlePathEULA',"Z:\\ZZZautomation\\Sikuli\\ImageLibrary\\96dpi\\SignIn") file location changed to local a
config.set('EULA','BundlePathEULA',"C:\\SikuliTest\\ImageLibrary\\96dpi\\SignIn")
config.set('EULA','SignIn_EULA',"SignIn_EULA.png")
#config.set('EULA','EULA_TOF1E',"497")
#config.set('EULA','EULA_TOF2E',"489")
config.set('EULA','SignIn_MediaRouter',"SignIn_MediaRouter.png")
#MediaRouterParameters any user
config.add_section('MediaRouter')
config.set('MediaRouter','BundlePathMediaRouter',"C:\\SikuliTest\\ImageLibrary\\96dpi\\SignIn")
config.set('MediaRouter','SignIn_MediaRouter',"SignIn_MediaRouter.png")
config.set('MediaRouter','MediaRouter_TOF1M',"147")
config.set('MediaRouter','MediaRouter_TOF2M',"7")
config.set('MediaRouter','SignIn_OKButton',"SignIn_OKButton.png")
#SignInParameters set for userA
config.add_section('SignIn')
config.set('SignIn','BundlePathSignIn',"C:\\SikuliTest\\ImageLibrary\\96dpi\\SignIn")
config.set('SignIn','SignIn_Launch',"SignIn_Launch.png")
config.set('SignIn','SignIn_SignIn',"SignIn_SignIn.png")#not sure of the function
config.set('SignIn','TOF1S',"-84",)
config.set('SignIn','TOF2S',"-58",)
config.set('SignIn','SignIn_BlankPanel',"SignIn_BlankPanel.png")
config.set('SignIn','SignIn_PasswordInput',"SignIn_PasswordInput.png")
config.set('SignIn','TOF1L',"-92",)
config.set('SignIn','TOF2L',"-11",)
config.set('SignIn','SignIn_SignInButton',"SignIn_SignInButton.png")
config.set('SignIn','TOF1LS',"-63",)
config.set('SignIn','TOF2LS',"151",)
config.set('SignIn','LoginUser',"[email protected]")#add ability to take users from a list
config.set('SignIn','Password',"skyroom")
config.set('SignIn','SignIn_EULA',"SignIn_EULA.png")
config.set('SignIn','TOF1E',"506")
config.set('SignIn','TOF2E',"444")
#ContactList UserA
config.add_section('ContactList')
config.set('ContactList','BundlePathContactList', "C:\\SikuliTest\\ImageLibrary\\96dpi\\ContactList")
config.set('ContactList','ContactList_WelcomePanel',"ContactList_WelcomePanel.png")
config.set('ContactList','ContactList_AddContact',"ContactList_AddContact.png")
config.set('ContactList','ContactList_AddContactUser',"michael.richardson02")#Add a path to user B login ID
config.set('ContactList','ContactList_GreenDot',"ContactList_GreenDot.png")
config.set('ContactList','TOF1CL',"135")
config.set('ContactList','TOF2CL',"81")
#ContactList accept add user userB
config.set('ContactList','ContactList_AcceptAddToList',"ContactList_AcceptAddToList.png")
config.set('ContactList','ContactList_AddContactUserB',"michael.richardson02")#Add a path to user B login ID
config.set('ContactList','ContactList_GreenDot',"ContactList_GreenDot.png")# this is a dupe
config.set('ContactList','AcceptAddToList_TOF3CL',"89")#target offset for ContactList_AcceptAddToList.png
config.set('ContactList','AcceptAddToList_TOF4CL',"40")
#contactList remove contact
config.set('ContactList','ContactList_MessageVerifyRemoval',"ContactList_MessageVerifyRemoval.png")
config.set('ContactList','TOF5CL',"86")
config.set('ContactList','TOF6CL',"38")
#config.set('ContactList','ContactList_SignOut',"ContactList_SignOut.png")
#contactList sign out
config.set('ContactList','ContactList_SignOut',"ContactList_SignOut.png")
config.set('ContactList','TOF5CL',"17")
config.set('ContactList','TOF6CL',"-1")
config.set('ContactList','TOF9CL',"17")
config.set('ContactList','TOF10CL',"-1")


#Conference A invites B
config.add_section('Conference')
config.set('Conference','BundlePathConference', "C:\\SikuliTest\\ImageLibrary\\96dpi\\Conference")
config.set('Conference','Conference_GreenDot',"Conference_GreenDot.png")
config.set('Conference','Conference_BlueLaunchWindow',"Conference_BlueLaunchWindow.png")
config.set('Conference','Conference_Start',"Conference_Start.png")
config.set('Conference','Conference_InConferenceSpeaker',"Conference_InConferenceSpeaker.png")
config.set('Conference','Conference_MeetingSetupTimeout',"Conference_MeetingSetupTimeout.png")
config.set('Conference','Conference_Close',"Conference_Close.png")
config.set('Conference','Conference_MeetingRequestDeclined',"Conference_MeetingRequestDeclined.png")
config.set('Conference','Conference_AcceptMeetingRequest',"Conference_AcceptMeetingRequest.png")
config.set('Conference','TOF5CL',"-76")
config.set('Conference','TOF6CL',"57")
config.set('Conference','Conference_ControlPanel',"Conference_ControlPanel.png")#Images used for the functiondrawlens
config.set('Conference','Conference_DrawLens',"Conference_DrawLens.png")
config.set('Conference','Conference_StopSharing',"Conference_StopSharing.png")
config.set('Conference','Conference_Leave',"Conference_Leave.png")
config.set('Conference','Conference_ViewingLens',"Conference_ViewingLens.png")
config.set('Conference','Conference_EndedAllLeft',"Conference_EndedAllLeft.png")
config.set('Conference','TOF7CL',"126")
config.set('Conference','TOF8CL',"46")
config.set('Conference','ContactList_DropList',"ContactList_DropList")
config.set('Conference','TOF9CL',"126")
config.set('Conference','TOF10CL',"46")



#ExitVCDKillProcess
config.add_section('Desktop')
config.set('Desktop','BundlePathDesktop', "C:\\SikuliTest\\ImageLibrary\\96dpi\\Desktop")
config.set('Desktop','Desktop_ExpandSysTray',"Desktop_ExpandSysTray.png")
config.set('Desktop','Desktop_SysTrayClose',"Desktop_SysTrayClose.png")
config.set('Desktop','Desktop_SysTrayIcon',"Desktop_SysTrayIcon.png")
config.set('Desktop','Desktop_SysTrayIcon_RTClickMenu',"Desktop_SysTrayIcon_RTClickMenu.png")
config.set('Desktop','TOF1DK',"-3")
config.set('Desktop','TOF2DK',"14")




config.write(cfgfile)

#f = open("Z:\\ZZZautomation\\Sikuli\\Web\\functionCreateConfigFileA.htm",'w')
popup("Configuration File Created Successfully")
#f.write ('Configuration File Created Successfully<br />')#
cfgfile.close()
#f.close()
exit()

For a reason I don't understand the following line causes my sikuli/python script to break. I suspect this is because my code to read a config file is buggy. I fail to see why, what am I misssing.

enter code here

if exists(SignIn_EULA,30):
click(Pattern(SignIn_EULA)
This is at the bottom of the series of def's and always is in error in NetBeans and Sikuli. This config parser is not reading the value (I think)

from sikuli.Sikuli import*
import glob
import os
import subprocess
import ConfigParser

#config.read('C:\\SikuliTest\\UserA.ini')
config = ConfigParser.ConfigParser()
#config.RawConfigParser.read('C:\\SikuliTest\\UserA.ini')
config.readfp(open('C:\\SikuliTest\\UserA.ini'))
#config = ConfigParser.RawConfigParser
#config.readfp(open('C:\\SikuliTest\\UserA.cfg'))

#config.RawConfigParser.read('C:\\SikuliTest\\UserA.ini')
#ConfigParser.RawConfigParser.read('C:\\SikuliTest\\UserA.ini')

dirname = config.get('Install', 'dirname')
filespec = config.get('Install', 'filespec')
BundlePathSignIn = config.get('SignIn','BundlePathSignIn')
LoginUser = config.get('SignIn','LoginUser')
Password = config.get('SignIn','Password')
PasswordInputField = config.get('SignIn','SignIn_PasswordInput')
Launch = config.get('SignIn','SignIn_Launch')
LoginPanel = config.get('SignIn','SignIn_BlankPanel')
FullLoginPanel = config.get('SignIn','SignIn_BlankPanel')
TOF1L = config.getint('SignIn','TOF1L')
TOF2L = config.getint('SignIn','TOF2L')
SignIn_Button = config.get('SignIn','SignIn_SignInButton')
TOF1LS = config.getint('SignIn','TOF1LS')
TOF2LS = config.getint('SignIn','TOF2LS')
SignIn_EULA = config.get('SignIn','SignIn_EULA')
TOF1E = config.getint('SignIn','TOF1E')
TOF2E = config.getint('SignIn','TOF2E')
TOF1S = config.getint('SignIn', 'TOF1S')
TOF2S = config.getint('SignIn','TOF2S')
SignIn_SignIn = config.get('SignIn','SignIn_SignIn')#not sure of the function
BundlePathEULA = config.get('EULA','BundlePathEULA')
SignIn_EULA = config.get('EULA','SignIn_EULA')
SignIn_MediaRouter = config.get('EULA','SignIn_MediaRouter')
BundlePathM = config.get('MediaRouter','BundlePathMediaRouter')
SignIn_MediaRouter = config.get('MediaRouter','SignIn_MediaRouter')
TOF1M = config.getint('MediaRouter','MediaRouter_TOF1M')
TOF2M = config.getint('MediaRouter','MediaRouter_TOF2M')
SignIn_OKButton = config.get('MediaRouter','SignIn_OKButton')
BundlePathCL = config.get('ContactList','BundlePathContactList')
ContactList_WelcomePanel = config.get('ContactList','ContactList_WelcomePanel')
ContactList_Add = config.get('ContactList','ContactList_AddContact')
ContactList_AddContact = config.get('ContactList','ContactList_AddContact')
ContactList_AddContactUser = config.get('ContactList', 'ContactList_AddContactUser')#Add a path to user B login ID
ContactList_GreenDot = config.get('ContactList','ContactList_GreenDot')
ContactList_TOF1CL = config.getint('ContactList','TOF1CL')
ContactList_TOF2CL = config.getint('ContactList','TOF2CL')
ContactList_AcceptAddToList = config.get('ContactList','ContactList_AcceptAddToList')
ContactList_TOF3CL = config.getint('ContactList','AcceptAddToList_TOF3CL')
ContactList_TOF4CL = config.getint('ContactList','AcceptAddToList_TOF4CL')
ContactList_TOF5CL = config.getint('ContactList','TOF5CL')
ContactList_TOF6CL = config.getint('ContactList','TOF6CL')
ContactList_TOF9CL = config.getint('ContactList','TOF9CL')
ContactList_TOF10CL = config.getint('ContactList','TOF10CL')
ContactList_MessageVerifyRemoval= config.get('ContactList','ContactList_MessageVerifyRemoval')
ContactList_SignOut = config.get('ContactList','ContactList_SignOut')
BundlePathCF = config.get('Conference','BundlePathConference')
Conference_GreenDot = config.get('Conference','Conference_GreenDot')
Conference_BlueLaunchWindow = config.get('Conference','Conference_BlueLaunchWindow')
Conference_Start = config.get('Conference','Conference_Start')
Conference_InConferenceSpeaker = config.get ('Conference', 'Conference_InConferenceSpeaker')
Conference_MeetingSetupTimeout = config.get ('Conference', 'Conference_MeetingSetupTimeout')
Conference_MeetingRequestDeclined = config.get ('Conference', 'Conference_MeetingRequestDeclined')
Conference_Close = config.get ('Conference', 'Conference_Close')
Conference_AcceptMeetingRequest = config.get('Conference','Conference_AcceptMeetingRequest')
Conference_InConferenceSpeaker = config.get ('Conference', 'Conference_InConferenceSpeaker')
TOF5CL = config.getint('Conference','TOF5CL')
TOF6CL = config.getint('Conference','TOF6CL')
Conference_ViewingLens = config.get ('Conference', 'Conference_ViewingLens')
Conference_EndedAllLeft = config.get ('Conference', 'Conference_EndedAllLeft')
TOF7CL = config.getint('Conference','TOF7CL')
TOF8CL = config.getint('Conference','TOF8CL')
BundlePathDK = config.get('Desktop','BundlePathDesktop')
Desktop_ExpandSysTray = config.get('Desktop','Desktop_ExpandSysTray')
Desktop_SysTrayClose = config.get('Desktop','Desktop_SysTrayClose')
Desktop_SysTraySkyRoomIcon = config.get('Desktop','Desktop_SysTrayIcon')
Desktop_SysTrayIcon = config.get ('Desktop', 'Desktop_SysTrayIcon_RTClickMenu')
Desktop_TOF1DK = config.getint('Desktop','TOF1DK')
Desktop_TOF2DK = config.getint('Desktop','TOF2DK')

setShowActions(True)# shows all activity in the GUI

def ExitVCDKillProcess():
    setBundlePath (BundlePathDK)
    click(Pattern(Desktop_ExpandSysTray).targetOffset(0,0))#killing the skyroom process
    if exists(Desktop_SysTraySkyRoomIcon, 10):
        rightClick (Desktop_SysTraySkyRoomIcon)
        type(Key.DOWN + Key.DOWN + Key.DOWN + Key.ENTER )#keys down to the exit command of the Right Click menu
        rightClick (Desktop_SysTrayClose)#Right click called to close the systray menu via the escape key
        type(Key.ESC)#closes the systray window
        wait(10)
        Uninstall()
    else:
        Uninstall()

def AddContact_AtoB():
    setBundlePath(BundlePathCL)
    if exists(ContactList_WelcomePanel, 20):
        #popup("Begin add user")
        click(ContactList_Add)
        type(Key.DOWN)
        wait(1)
        type(Key.ENTER) #Launches the add contact dialog
        #type (Key.DOWN + Key.DOWN) Will launch the add via directory search.  Make new function or branch for this
        wait(1)# wait displays the add contact hover window
    if exists(ContactList_AddContact, 20):
        # popup("Add contact dialog displayed")
        type(ContactList_AddContactUser)
        wait(1)
        click(Pattern(ContactList_AddContact).targetOffset(ContactList_TOF1CL,ContactList_TOF2CL))
        #popup("verify userID exists")
        wait(1)
    if exists(ContactList_GreenDot, 10):
        #popup("Add contact successful")
        wait(2)
        ConferenceInviteAtoB()

def ConferenceInviteAtoB():
    setBundlePath(BundlePathCF)
    #click on the avaliable user green dot at top contact anonymous to sender
    if exists(Conference_GreenDot, FOREVER): # verifying confernce invite is sent only when recipient is ready
        click(Conference_GreenDot)
    if exists(Conference_BlueLaunchWindow, 20): # check for the color change
        click(Conference_Start)
    if exists(Pattern(Conference_InConferenceSpeaker).similar(0.83),FOREVER):
        UserADrawsLens()

def UserADrawsLens():
    setBundlePath(BundlePathCF)
    if exists(Conference_ControlPanel,FOREVER ):
        click(Conference_DrawLens)
        setShowActions(True)
        x1, y1, x2, y2 = (100, 100, 500, 600)
        start = Location(x1, y1)
        end = Location(x2, y2)
        stepX = 1 # adjust this as needed
        stepY = int((y2-y1)/((x2-x1)/stepX))
        run = start
        mouseMove(start); wait(1)
        mouseDown(Button.LEFT); wait(1)
        while run.getX() < end.getX():
            run = run.right(stepX).below(stepY) # use below instead of down a
        mouseMove(run)
        mouseMove(end)
        mouseUp()
        wait(5)
        wait (10)
        click (Conference_StopSharing)
        LeaveConference()



def SignOut():
    setBundlePath(BundlePathCL)
    wait(2)
    if exists(ContactList_DropList, 20):
        click (Pattern(ContactList_DropList).targetOffset(ContactList_TOF9CL,ContactList_TOF10CL))
        type (Key.DOWN + Key.DOWN + Key.DOWN + Key.DOWN + Key.DOWN + Key.ENTER)
        # signsout
    if exists(LoginPanel,FOREVER):
        wait(10)
    exit()

def RemoveContact():
    setBundlePath(BundlePathCL)
    rightClick(ContactList_GreenDot)
    type(Key.DOWN+KEY.ENTER)
    if exists(ContactList_MessageVerifyRemoval, 20):
        click(Pattern(ContactList_MessageVerifyRemoval).targetOffset(ContactList_TOF5CL,ContactList_TOF6CL))
        SignOut()


def MediaRouter():
    setBundlePath(BundlePathM)
    wait(1)
    if exists(LoginMediaRouterScreen, 30):
        click(Pattern(LoginMediaRouter).targetOffset(TOF1M, TOF2M))
        wait(1)#wait needed to support droplist navigation
        type(Key.DOWN + Key.DOWN + Key.DOWN + Key.ENTER)# selects Fort Collins
        wait(1)
        click(Pattern(OK_Button).targetOffset(0,0))
        wait(5)
        AddContact_AtoB()

def SignIn():
    setBundlePath(BundlePathSignIn)
    if exists (FullLoginPanel, 30):
        type(Pattern(SignIn_SignIn).targetOffset(TOF1S,TOF2S), LoginUser)
        wait(1)
        type(Pattern(PasswordInputField).targetOffset(TOF1L,TOF2L), Password)
        wait(1)
        click (Pattern(SignIn_Button).targetOffset(TOF1LS, TOF2LS))
        wait(5)
    if exists(SignIn_EULA,30):
        click(Pattern(SignIn_EULA)
        MediaRouter()

##The config file follows
ContactList]
bundlepathcontactlist = C:\SikuliTest\ImageLibrary\96dpi\ContactList
tof10cl = -1
tof2cl = 81
acceptaddtolist_tof3cl = 89
contactlist_addcontactuserb = michael.richardson02
contactlist_messageverifyremoval = ContactList_MessageVerifyRemoval.png
contactlist_addcontactuser = michael.richardson02
contactlist_signout = ContactList_SignOut.png
tof6cl = -1
contactlist_acceptaddtolist = ContactList_AcceptAddToList.png
acceptaddtolist_tof4cl = 40
contactlist_welcomepanel = ContactList_WelcomePanel.png
contactlist_greendot = ContactList_GreenDot.png
tof5cl = 17
contactlist_addcontact = ContactList_AddContact.png
tof9cl = 17
tof1cl = 135

[Desktop]
desktop_systrayclose = Desktop_SysTrayClose.png
tof2dk = 14
desktop_expandsystray = Desktop_ExpandSysTray.png
tof1dk = -3
desktop_systrayicon = Desktop_SysTrayIcon.png
bundlepathdesktop = C:\SikuliTest\ImageLibrary\96dpi\Desktop
desktop_systrayicon_rtclickmenu = Desktop_SysTrayIcon_RTClickMenu.png

[MediaRouter]
signin_okbutton = SignIn_OKButton.png
signin_mediarouter = SignIn_MediaRouter.png
mediarouter_tof1m = 147
mediarouter_tof2m = 7
bundlepathmediarouter = C:\SikuliTest\ImageLibrary\96dpi\SignIn

[EULA]
signin_mediarouter = SignIn_MediaRouter.png
signin_eula = SignIn_EULA.png
bundlepatheula = C:\SikuliTest\ImageLibrary\96dpi\SignIn

[Install]
dirname = Z:\BUILDS\Daily_BUILDS\QA_MainBranch_Install\*.install
filespec = setup.exe

[SignIn]
signin_blankpanel = SignIn_BlankPanel.png
signin_signin = SignIn_SignIn.png
tof1e = 506
tof2e = 444
signin_eula = SignIn_EULA.png
tof1ls = -63
tof1s = -84
tof2s = -58
tof2l = -11
tof2ls = 151
bundlepathsignin = C:\SikuliTest\ImageLibrary\96dpi\SignIn
signin_signinbutton = SignIn_SignInButton.png
tof1l = -92
signin_launch = SignIn_Launch.png
password = skyroom
signin_passwordinput = SignIn_PasswordInput.png
loginuser = [email protected]

[Conference]
conference_bluelaunchwindow = Conference_BlueLaunchWindow.png
tof10cl = 46
contactlist_droplist = ContactList_DropList
conference_greendot = Conference_GreenDot.png
conference_drawlens = Conference_DrawLens.png
conference_inconferencespeaker = Conference_InConferenceSpeaker.png
tof6cl = 57
conference_viewinglens = Conference_ViewingLens.png
conference_meetingsetuptimeout = Conference_MeetingSetupTimeout.png
bundlepathconference = C:\SikuliTest\ImageLibrary\96dpi\Conference
tof8cl = 46
tof7cl = 126
tof5cl = -76
conference_controlpanel = Conference_ControlPanel.png
conference_stopsharing = Conference_StopSharing.png
conference_endedallleft = Conference_EndedAllLeft.png
conference_leave = Conference_Leave.png
conference_start = Conference_Start.png
conference_acceptmeetingrequest = Conference_AcceptMeetingRequest.png
conference_meetingrequestdeclined = Conference_MeetingRequestDeclined.png
conference_close = Conference_Close.png
tof9cl = 126

#The create config script follows:
from sikuli.Sikuli import * #



import ConfigParser
config = ConfigParser.RawConfigParser()
#cfgfile = open("Z:\\ZZZautomation\\Sikuli\\Config\\UserA.ini",'w')
cfgfile = open("C:\\SikuliTest\\UserA.ini",'w')#local config file
#change path to desired location for the cfg file

#Install any user
config.add_section('Install')
#path requires mapping of share to z
config.set('Install', 'dirname',"Z:\\BUILDS\\Daily_BUILDS\\QA_MainBranch_Install\\*.install" )
config.set('Install', 'filespec',"setup.exe")
#EulaParamerters
config.add_section('EULA')
#config.set('EULA','BundlePathEULA',"Z:\\ZZZautomation\\Sikuli\\ImageLibrary\\96dpi\\SignIn") file location changed to local a
config.set('EULA','BundlePathEULA',"C:\\SikuliTest\\ImageLibrary\\96dpi\\SignIn")
config.set('EULA','SignIn_EULA',"SignIn_EULA.png")
#config.set('EULA','EULA_TOF1E',"497")
#config.set('EULA','EULA_TOF2E',"489")
config.set('EULA','SignIn_MediaRouter',"SignIn_MediaRouter.png")
#MediaRouterParameters any user
config.add_section('MediaRouter')
config.set('MediaRouter','BundlePathMediaRouter',"C:\\SikuliTest\\ImageLibrary\\96dpi\\SignIn")
config.set('MediaRouter','SignIn_MediaRouter',"SignIn_MediaRouter.png")
config.set('MediaRouter','MediaRouter_TOF1M',"147")
config.set('MediaRouter','MediaRouter_TOF2M',"7")
config.set('MediaRouter','SignIn_OKButton',"SignIn_OKButton.png")
#SignInParameters set for userA
config.add_section('SignIn')
config.set('SignIn','BundlePathSignIn',"C:\\SikuliTest\\ImageLibrary\\96dpi\\SignIn")
config.set('SignIn','SignIn_Launch',"SignIn_Launch.png")
config.set('SignIn','SignIn_SignIn',"SignIn_SignIn.png")#not sure of the function
config.set('SignIn','TOF1S',"-84",)
config.set('SignIn','TOF2S',"-58",)
config.set('SignIn','SignIn_BlankPanel',"SignIn_BlankPanel.png")
config.set('SignIn','SignIn_PasswordInput',"SignIn_PasswordInput.png")
config.set('SignIn','TOF1L',"-92",)
config.set('SignIn','TOF2L',"-11",)
config.set('SignIn','SignIn_SignInButton',"SignIn_SignInButton.png")
config.set('SignIn','TOF1LS',"-63",)
config.set('SignIn','TOF2LS',"151",)
config.set('SignIn','LoginUser',"[email protected]")#add ability to take users from a list
config.set('SignIn','Password',"skyroom")
config.set('SignIn','SignIn_EULA',"SignIn_EULA.png")
config.set('SignIn','TOF1E',"506")
config.set('SignIn','TOF2E',"444")
#ContactList UserA
config.add_section('ContactList')
config.set('ContactList','BundlePathContactList', "C:\\SikuliTest\\ImageLibrary\\96dpi\\ContactList")
config.set('ContactList','ContactList_WelcomePanel',"ContactList_WelcomePanel.png")
config.set('ContactList','ContactList_AddContact',"ContactList_AddContact.png")
config.set('ContactList','ContactList_AddContactUser',"michael.richardson02")#Add a path to user B login ID
config.set('ContactList','ContactList_GreenDot',"ContactList_GreenDot.png")
config.set('ContactList','TOF1CL',"135")
config.set('ContactList','TOF2CL',"81")
#ContactList accept add user userB
config.set('ContactList','ContactList_AcceptAddToList',"ContactList_AcceptAddToList.png")
config.set('ContactList','ContactList_AddContactUserB',"michael.richardson02")#Add a path to user B login ID
config.set('ContactList','ContactList_GreenDot',"ContactList_GreenDot.png")# this is a dupe
config.set('ContactList','AcceptAddToList_TOF3CL',"89")#target offset for ContactList_AcceptAddToList.png
config.set('ContactList','AcceptAddToList_TOF4CL',"40")
#contactList remove contact
config.set('ContactList','ContactList_MessageVerifyRemoval',"ContactList_MessageVerifyRemoval.png")
config.set('ContactList','TOF5CL',"86")
config.set('ContactList','TOF6CL',"38")
#config.set('ContactList','ContactList_SignOut',"ContactList_SignOut.png")
#contactList sign out
config.set('ContactList','ContactList_SignOut',"ContactList_SignOut.png")
config.set('ContactList','TOF5CL',"17")
config.set('ContactList','TOF6CL',"-1")
config.set('ContactList','TOF9CL',"17")
config.set('ContactList','TOF10CL',"-1")


#Conference A invites B
config.add_section('Conference')
config.set('Conference','BundlePathConference', "C:\\SikuliTest\\ImageLibrary\\96dpi\\Conference")
config.set('Conference','Conference_GreenDot',"Conference_GreenDot.png")
config.set('Conference','Conference_BlueLaunchWindow',"Conference_BlueLaunchWindow.png")
config.set('Conference','Conference_Start',"Conference_Start.png")
config.set('Conference','Conference_InConferenceSpeaker',"Conference_InConferenceSpeaker.png")
config.set('Conference','Conference_MeetingSetupTimeout',"Conference_MeetingSetupTimeout.png")
config.set('Conference','Conference_Close',"Conference_Close.png")
config.set('Conference','Conference_MeetingRequestDeclined',"Conference_MeetingRequestDeclined.png")
config.set('Conference','Conference_AcceptMeetingRequest',"Conference_AcceptMeetingRequest.png")
config.set('Conference','TOF5CL',"-76")
config.set('Conference','TOF6CL',"57")
config.set('Conference','Conference_ControlPanel',"Conference_ControlPanel.png")#Images used for the functiondrawlens
config.set('Conference','Conference_DrawLens',"Conference_DrawLens.png")
config.set('Conference','Conference_StopSharing',"Conference_StopSharing.png")
config.set('Conference','Conference_Leave',"Conference_Leave.png")
config.set('Conference','Conference_ViewingLens',"Conference_ViewingLens.png")
config.set('Conference','Conference_EndedAllLeft',"Conference_EndedAllLeft.png")
config.set('Conference','TOF7CL',"126")
config.set('Conference','TOF8CL',"46")
config.set('Conference','ContactList_DropList',"ContactList_DropList")
config.set('Conference','TOF9CL',"126")
config.set('Conference','TOF10CL',"46")



#ExitVCDKillProcess
config.add_section('Desktop')
config.set('Desktop','BundlePathDesktop', "C:\\SikuliTest\\ImageLibrary\\96dpi\\Desktop")
config.set('Desktop','Desktop_ExpandSysTray',"Desktop_ExpandSysTray.png")
config.set('Desktop','Desktop_SysTrayClose',"Desktop_SysTrayClose.png")
config.set('Desktop','Desktop_SysTrayIcon',"Desktop_SysTrayIcon.png")
config.set('Desktop','Desktop_SysTrayIcon_RTClickMenu',"Desktop_SysTrayIcon_RTClickMenu.png")
config.set('Desktop','TOF1DK',"-3")
config.set('Desktop','TOF2DK',"14")




config.write(cfgfile)

#f = open("Z:\\ZZZautomation\\Sikuli\\Web\\functionCreateConfigFileA.htm",'w')
popup("Configuration File Created Successfully")
#f.write ('Configuration File Created Successfully<br />')#
cfgfile.close()
#f.close()
exit()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文