webdriver-w3c-0.0.2: app/ParallelStressTest.hs
{-
This program is meant to simulate running a large number of tests in parallel. To set the number of tests to be run, export the WD_STRESS_TEST_NUM_TESTS variable in the shell.
-}
module Main where
import Test.Tasty
import Test.Tasty.WebDriver
import Web.Api.WebDriver
import System.Exit (exitFailure)
import System.Environment (lookupEnv)
import Text.Read (readMaybe)
_test :: (Monad eff) => WebDriverT eff ()
_test = navigateTo "https://google.com"
main :: IO ()
main = do
var <- lookupEnv "WD_STRESS_TEST_NUM_TESTS"
k <- case var >>= readMaybe of
Nothing -> showError
Just m -> if m <= 0
then showError
else return m
defaultWebDriverMain $
localOption (SilentLog) $
testGroup "Test Demo" $
[ testCase ("navigate to google.com #" ++ show i) _test | i <- [1..k] ]
showError :: IO a
showError = do
putStrLn "WD_STRESS_TEST_NUM_TESTS must be a positive integer."
exitFailure