úÎBú63¸      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·7Nice combinators for joining up flat strings into URIs. provisionalDon Stewart <dons@galois.com>NoneJoin two strings with : Join two strings with = Join two strings with ? Join two strings with  & A¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóô+non-portable (multi-parameter type classes) provisionalAaron Tomb <atomb@galois.com>None#An SCommand: an action or accessor   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€õö÷ø}  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€}€~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!     o€~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! õö÷ø+Uses mtl, Generalised Newtype Deriving, CPP provisionalAaron Tomb <atomb@galois.com>None6The Selenium Monad, an error-handling read-only state ‚Browser types ŒThe ù& of the Selenium server to connect to .The port of the Selenium server to connect to Ž6The type of browser to start and use to run the tests &The base URL of the site to be tested A session ID filled in by – ‘4Use Network.Browser instead of Network.HTTP if true ’CRun a Selenium action within the ErrorT monad. Useful for chaining I together several actions without writing intermediate error handling. “@Run a Selenium action inside IO. This is the top-level function  you'8ll usually use to run a Selenium command when not using  •. ”(Create an unconnected Selenium session. •GStart a session, execute some code with the resulting handle, and then  stop the session. –;Connect to the server, and tell it to start a web browser. —,Tell the server that a session is finished. ˜@Send a Selenium command to the server with a list of arguments. ™FExecute a list of Selenium commands paired with arguments, and return  | a list of results. 3‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²ú¢ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²¢‚‰ˆ‡†…„ƒ€~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! Š‹ŒŽ‘”–—•“’˜™š›ž Ÿ¡¥¦¢£¤§°œ¨ª©«¬­®±¯²%‚‰ˆ‡†…„ƒŠ‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²ú+non-portable (multi-parameter type classes) provisionalAaron Tomb <atomb@galois.com>None³´³´³´³´+non-portable (multi-parameter type classes) provisionalAaron Tomb <atomb@galois.com>NoneµAStarts up a session and returns a wrapper function that will run 9 commands. Gives common defaults for browser and host. ·3Stops a session (in the wrapper returned by start) µ¶·µ¶·µ·¶µ¶·û      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿½¾À½¾Á½¾Â½¾Ã½¾Ä½¾Å½¾Æ½¾Ç½¾È½¾É½¾»½¾Ê½¾Ë½¾Ì½¾Í½¾Î½¾Ï½¾Ð½¾Ñ½¾Ò½¾Ó½¾Ô½¾Õ½¾Ö½¾×½¾Ø½¾Ù½¾Ú½¾Û½¾Ü½¾Ý½¾Þ½¾ß½¾à½¾á½¾â½¾ã½¾ä½¾å½¾æ½¾ç½¾è½¾é½¾ê½¾ë½¾ì½¾í½¾î½¾ï½¾ð½¾ñ½¾ò½¾ó½¾ô½¾ô½¾õ½¾ö½¾÷½¾ø½¾ùúûüýþÿselenium-0.2.5Test.Selenium.PrettyTest.Selenium.SyntaxTest.Selenium.ServerTest.Selenium.HUnitTest.Selenium.Interactive<:><=><&>SelectOptionLocator OptionIndexOptionId OptionValue OptionLabelLocatorCSSLinkXPathDOMNameIdIdOrNameSCommand SNewSession STestComplete SDeleteCookie SCreateCookie SGetCookie SWaitForPage SSetTimeoutSAddLocationStrategySGetXPathCountSWaitForConditionSGetExpression SSetContextSGetCursorPositionSGetElementHeightSGetElementWidthSGetElementPositionTopSGetElementPositionLeft SIsOrderedSGetElementIndexSSetCursorPositionSGetHTMLSourceSGetAllWindowTitlesSGetAllWindowNamesSGetAllWindowIdsSWindowMaximize SWindowFocusSDragAndDropToObject SDragAndDropSGetMouseSpeedSSetMouseSpeedSGetAttrFromAllWindows SGetAllFields SGetAllLinksSGetAllButtons SIsEditable SIsVisibleSIsElementPresentSIsTextPresent SGetAttributeSGetSelectOptionsSIsSomethingSelectedSGetSelectedIdSGetSelectedIdsSGetSelectedIndexSGetSelectedIndexesSGetSelectedValueSGetSelectedValuesSGetSelectedLabelSGetSelectedLabels SGetTable SIsCheckedSEval SHighlightSGetText SGetValue SGetBodyText SGetTitle SGetLocation SGetPromptSGetConfirmation SGetAlertSIsConfirmationPresentSIsPromptPresentSIsAlertPresentSCloseSRefreshSGoBackSAnswerNextPromptSCancelNextPrompt SWaitForPopupSWindowMatchesExpressionSFrameMatchesExpression SSelectFrame SSelectWindow SOpenWindowSOpenSSubmitSRemoveAllSelectionsSRemoveSelection SAddSelectionSSelectSUncheckSCheck SGetSpeed SSetSpeed STypeKeysSType SMouseMoveAt SMouseMove SMouseUpAtSMouseUp SMouseDownAt SMouseDown SMouseOut SMouseOverSKeyUpSKeyDown SControlKeyUpSControlKeyDown SAltKeyUp SAltKeyDown SMetaKeyUp SMetaKeyDown SShiftKeyUp SShiftKeyDown SKeyPress SFireEventSDoubleClickAtSClickAt SDoubleClickSClickSeleniumBrowserOtherChromeSafariOpera KonquerorFirefoxInternetExplorerSeleniumRCSessionselHostselPort selBrowserselURL selSessionID selUseBrowserunSeleniumReader runSeleniummkSeleniumRCSession withSelenium startSelenium stopSelenium doCommand doCommandListmkURIopensubmit selectFramecheckuncheckclick clickAndWait isTextPresentisElementPresent isCheckedtypeTextkeyPress waitForPage mouseDown mouseMovemouseUp dragAndDropdragAndDropToObject getAttribute getBodyTextevalJSwaitForCondition getAllLinksgetSelectedIndexrunSeleniumTestsTTrunSeleniumTestsBarestart$$stoppretty-1.1.1.0Text.PrettyPrint.HughesPJ fullRender renderStylerenderstylefsepfcatcatsep<+><>$+$ punctuatehangnestvcathsephcatbracesbracketsparens doubleQuotesquotesrationaldoublefloatintegerintrbracelbracerbracklbrackrparenlparenequalsspacecoloncommasemiisEmptyempty zeroWidthText sizedTextptexttextcharDocChrStrPStr TextDetailsribbonsPerLine lineLengthmodeStylePageMode ZigZagModeLeftMode OneLineModeMode$fShowSelectOptionLocator $fShowLocator$fShowCoordinate$fShowSCommandnetwork-2.3.0.13Network.SocketHostName $fShowBrowser