import os; from dxConfig import dxConfig; from fsFirstExistingFile import fsFirstExistingFile; import mFileSystem2; sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles"); sProgramFilesPath_x64 = os.getenv("ProgramW6432"); dxConfigSettings = { "bApplicationTerminatesWithMainProcess": False, }; # Firefox stable (if installed, otherwise use Firefox Developer Edition if installed). sApplicationBinaryPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x64, ); sApplicationBinaryPath_x86 = fsFirstExistingFile( r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x86, ); sApplicationBinaryPath = sApplicationBinaryPath_x64 or sApplicationBinaryPath_x86; oTempFolder = mFileSystem2.foGetFolder(os.getenv("TEMP")); oFirefoxProfileFolder = oTempFolder.foGetOrCreateChildFolder("Firefox-profile"); def fasGetFirefoxStaticArguments(bForHelp): oFirefoxProfileFolder.fCreate(); return [ "--no-remote", "-profile", oFirefoxProfileFolder.sPath, ]; def fasGetFirefoxOptionalArguments(bForHelp = False):
import os from dxConfig import dxConfig from fsFirstExistingFile import fsFirstExistingFile sProgramFilesPath = os.getenv("ProgramFiles") sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv( "ProgramFiles") sProgramFilesPath_x64 = os.getenv("ProgramW6432") sLocalAppData = os.getenv("LocalAppData") dxConfigSettings = { "bApplicationTerminatesWithMainProcess": True, } # Chrome Canary (if installed) sChromeSxSPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Google\Chrome SxS\Application\chrome.exe" % sProgramFilesPath_x64, r"%s\Google\Chrome SxS\Application\chrome.exe" % sLocalAppData, ) sChromeSxSPath_x86 = fsFirstExistingFile( r"%s\Google\Chrome SxS\Application\chrome.exe" % sProgramFilesPath_x86, r"%s\Google\Chrome SxS\Application\chrome.exe" % sLocalAppData, ) sChromeSxSPath = sChromeSxSPath_x64 or sChromeSxSPath_x86 # Chrome stable (if installed) sApplicationBinaryPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Google\Chrome\Application\chrome.exe" % sProgramFilesPath_x64, r"%s\Google\Chrome\Application\chrome.exe" % sLocalAppData, ) if os.getenv("ProgramFiles(x86)"): # on x64 systems, x64 versions of Chrome can be installed in the x86 Program Files folder... sApplicationBinaryPath_x64 = sApplicationBinaryPath_x64 or fsFirstExistingFile( r"%s\Google\Chrome\Application\chrome.exe" % sProgramFilesPath_x86, )
import os from fsFirstExistingFile import fsFirstExistingFile sProgramFilesPath = os.getenv("ProgramFiles") sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv( "ProgramFiles") sProgramFilesPath_x64 = os.getenv("ProgramW6432") dxConfigSettings = { "bApplicationTerminatesWithMainProcess": True, "nApplicationMaxRunTimeInSeconds": 60.0, # This application can load very slowly, so give it a little more time than others. } sApplicationBinaryPath_x86 = fsFirstExistingFile( r"%s\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" % sProgramFilesPath_x86, ) sApplicationBinaryPath = sApplicationBinaryPath_x86 def fasGetOptionalArguments(bForHelp=False): return ["repro.pdf"] # Does not matter if it's for help or not: value is the same ddxAdobeAcrobatReaderDCSettings_by_sKeyword = { "acrobatdc": { "sBinaryPath": sApplicationBinaryPath, "fasGetOptionalArguments": fasGetOptionalArguments, "dxConfigSettings": dxConfigSettings, # Adobe Reader has a component that constantly crashes with a NULL pointer when you enable page heap. "asBinaryNamesThatAreAllowedToRunWithoutPageHeap": ["rdrcef.exe"],
import os from fsFirstExistingFile import fsFirstExistingFile sProgramFilesPath = os.getenv("ProgramFiles") sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv( "ProgramFiles") sProgramFilesPath_x64 = os.getenv("ProgramW6432") dxConfigSettings = { "bApplicationTerminatesWithMainProcess": True, "cBugId.bIgnoreFirstChanceNULLPointerAccessViolations": True, } sApplicationBinaryPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Java\jre-9.0.1\bin\java.exe" % sProgramFilesPath_x64, # TODO: add other versions. ) sApplicationBinaryPath_x86 = fsFirstExistingFile( r"%s\Java\jre-9.0.1\bin\java.exe" % sProgramFilesPath_x86, # TODO: add other versions. ) sApplicationBinaryPath = sApplicationBinaryPath_x64 or sApplicationBinaryPath_x86 def fasGetJavaOptionalArguments(bForHelp=False): return ["-jar", "repro.jar"] # Does not matter if it's for help or not: value is the same ddxOracleJavaSettings_by_sKeyword = { "java": { "sBinaryPath": sApplicationBinaryPath,
import os from fsFirstExistingFile import fsFirstExistingFile sProgramFilesPath = os.getenv("ProgramFiles") sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv( "ProgramFiles") sProgramFilesPath_x64 = os.getenv("ProgramW6432") dxConfigSettings = { "bApplicationTerminatesWithMainProcess": True, "nApplicationMaxRunTimeInSeconds": 60.0, # This application can load very slowly, so give it a little more time than others. } sApplicationBinaryPath_x86 = fsFirstExistingFile( r"%s\Foxit Software\Foxit Reader\FoxitReader.exe" % sProgramFilesPath_x86, ) sApplicationBinaryPath = sApplicationBinaryPath_x86 def fasGetOptionalArguments(bForHelp=False): return ["repro.pdf"] # Does not matter if it's for help or not: value is the same ddxFoxitReaderSettings_by_sKeyword = { "foxit": { "sBinaryPath": sApplicationBinaryPath, "fasGetOptionalArguments": fasGetOptionalArguments, "dxConfigSettings": dxConfigSettings, },
# Settings used by all browsers (these should eventually be fine-tuned for each browser) "bApplicationTerminatesWithMainProcess": True, "nExcessiveCPUUsageCheckInitialTimeoutInSeconds": 30.0, # Give browser some time to load repro "cBugId.nExcessiveCPUUsageCheckIntervalInSeconds": 30.0, # Browser may be busy for a bit, but no longer than 30 seconds. "cBugId.nExcessiveCPUUsagePercent": 95, # Browser msust be very, very busy. "cBugId.nExcessiveCPUUsageWormRunTimeInSeconds": 0.5, # Any well written function should return within half a second IMHO. "cBugId.bIgnoreCPPExceptions": True, "cBugId.bIgnoreWinRTExceptions": True, } # Microsoft Internet Explorer sApplicationBinaryPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Internet Explorer\iexplore.exe" % sProgramFilesPath_x64, ) sApplicationBinaryPath_x86 = fsFirstExistingFile( r"%s\Internet Explorer\iexplore.exe" % sProgramFilesPath_x86, ) sApplicationBinaryPath = sApplicationBinaryPath_x64 or sApplicationBinaryPath_x86 def fasGetMSIEOptionalArguments(bForHelp=False): return bForHelp and ["<dxConfig.sDefaultBrowserTestURL>"] or [ dxConfig["sDefaultBrowserTestURL"] ] ddxMicrosoftInternetExplorerSettings_by_sKeyword = { "msie": { "sBinaryPath": sApplicationBinaryPath, "fasGetOptionalArguments": fasGetMSIEOptionalArguments,
import os from fsFirstExistingFile import fsFirstExistingFile sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv( "ProgramFiles") sProgramFilesPath_x64 = os.getenv("ProgramW6432") # Firefox stable (if installed, otherwise use Firefox Developer Edition if installed). sFirefoxPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x64, ) sFirefoxPath_x86 = fsFirstExistingFile( r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x86, ) sFirefoxPath = sFirefoxPath_x64 or sFirefoxPath_x86
import os; from fsFirstExistingFile import fsFirstExistingFile; sProgramFilesPath = os.getenv("ProgramFiles"); sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles"); sProgramFilesPath_x64 = os.getenv("ProgramW6432"); sLocalAppData = os.getenv("LocalAppData"); # Chrome Canary sChromeSxSPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Google\Chrome SxS\Application\chrome.exe" % sProgramFilesPath_x64, r"%s\Google\Chrome SxS\Application\chrome.exe" % sLocalAppData, ); sChromeSxSPath_x86 = fsFirstExistingFile( r"%s\Google\Chrome SxS\Application\chrome.exe" % sProgramFilesPath_x86, r"%s\Google\Chrome SxS\Application\chrome.exe" % sLocalAppData, ); sChromeSxSPath = sChromeSxSPath_x64 or sChromeSxSPath_x86; # Chrome stable (if installed, otherwise use Chrome Canary if installed). sChromePath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Google\Chrome\Application\chrome.exe" % sProgramFilesPath_x64, r"%s\Google\Chrome\Application\chrome.exe" % sLocalAppData, sChromeSxSPath_x64, ); sChromePath_x86 = fsFirstExistingFile( r"%s\Google\Chrome\Application\chrome.exe" % sProgramFilesPath_x86, r"%s\Google\Chrome\Application\chrome.exe" % sLocalAppData, sChromeSxSPath_x86, ); sChromePath = sChromePath_x64 or sChromePath_x86 or sChromeSxSPath;
import os; from fsFirstExistingFile import fsFirstExistingFile; sProgramFilesPath = os.getenv("ProgramFiles"); sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles"); sProgramFilesPath_x64 = os.getenv("ProgramW6432"); sLocalAppData = os.getenv("LocalAppData"); # Firefox Developer Edition sFirefoxDevPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Firefox Developer Edition\firefox.exe" % sProgramFilesPath_x64, ); sFirefoxDevPath_x86 = fsFirstExistingFile( r"%s\Firefox Developer Edition\firefox.exe" % sProgramFilesPath_x86, ); sFirefoxDevPath = sFirefoxDevPath_x64 or sFirefoxDevPath_x86; # Firefox stable (if installed, otherwise use Firefox Developer Edition if installed). sFirefoxPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x64, sFirefoxDevPath_x64, ); sFirefoxPath_x86 = fsFirstExistingFile( r"%s\Mozilla Firefox\firefox.exe" % sProgramFilesPath_x86, sFirefoxDevPath_x86, ); sFirefoxPath = sFirefoxPath_x64 or sFirefoxPath_x86 or sFirefoxDevPath;
import os; from fsFirstExistingFile import fsFirstExistingFile; sProgramFilesPath = os.getenv("ProgramFiles"); sProgramFilesPath_x86 = os.getenv("ProgramFiles(x86)") or os.getenv("ProgramFiles"); sProgramFilesPath_x64 = os.getenv("ProgramW6432"); sLocalAppData = os.getenv("LocalAppData"); # Microsoft Internet Explorer sMSIEPath_x64 = sProgramFilesPath_x64 and fsFirstExistingFile( r"%s\Internet Explorer\iexplore.exe" % sProgramFilesPath_x64, ); sMSIEPath_x86 = fsFirstExistingFile( r"%s\Internet Explorer\iexplore.exe" % sProgramFilesPath_x86, ); sMSIEPath = sMSIEPath_x64 or sMSIEPath_x86;