Skip to content
James Crocker edited this page Nov 12, 2016 · 14 revisions

Concurrent Selenium TestNG (COSENG) is a Java implementation supporting concurrent (parallel) TestNG and Selenium UI testing. COSENG supports Selenium GRID, local execution on Linux and Win10 and browsers Google Chrome, Mozilla Firefox, Windows Edge and Internet Explorer.

  • Run Selenium/TestNG UI tests concurrently supporting TestNG parallel mode <suite parallel="none|tests|classes|methods">
  • Run with ONE web driver that persists and is utilized across all TestNG suite XML. Thus, a complex end to end test can be achieved with each successive suite picking up where the previous ended
  • Access the web driver in TestNG/Selenium test classes as easily as WebDriver webDriver = getWebDriver(); and let COSENG manage the web driver life cycle
  • Run tests exclusively or in any combination of local execution and Selenium GRID
  • TestNG/Selenium test classes extend CosengRunner
    • Example Google.java With a direct reference to fetching the web driver and DuckDuckGo.java with an indirect reference to the web driver with getCurrentUrl()
    • CosengRunner provides the appropriate web driver at the appropriate level of parallelization; so all that is needed to use the web driver for the test is WebDriver webDriver = getWebDriver();
    • CosengRunner also provides convenience methods to access other commonly used web driver derivatives such as Actions, WebDriverWait, JavascriptExecutor and Angular NgWebDriver
    • CosengRunner additionally wraps Selenium WebElement as an object. The convenience allows for WebElement searchForm = newWebElement(By.id(ELEMENT_SEARCHFORM)); searchForm.find(); Assert.assertTrue(searchForm.isDisplayed());
    • Other conveniences with CosengRunner include methods such as saveScreenshot, currentUrlContains, currentUrlEquals, acceptInvalidSSLCertificate (for supported browsers), uploadFile (both local and grid), findUrls, saveUrls and link checking with urlsAccessible()
  • Leverages TestNG HTML reporting and creates custom reports per test per location per platform per browser
Clone this wiki locally