Idealiter wilt je de testscripts uit te voeren in alle verschillende browsers op alle platforms. Dit kan worden bereikt met Selenium Grid. Het opzetten van Selenium Grid kan een tijdrovende taak zijn en je hebt te maken met licentiekosten van de verschillende besturingssystemen. Daarom leveren sommige bedrijven cloud-gebaseerde oplossingen.
TestingBot biedt een cloud-gebaseerde oplossing met vele extra functionaliteiten, zoals: het nemen van screenshots, video-opname van de testuitvoering , geïntegreerde proxy en geavanceerde rapportage.
TestingBot kan worden gebruikt in allerlei programmeertalen. In deze tutorial zie je hoe makkelijk het is om tests uit te voeren in de cloud.
# Hoe te
- Maak een account op TestingBot en probeer het gratis. (of kies een maandelijks abonnement)
- Download de vereiste library: https://github.com/testingbot
- Wijzig het
Remoteadres, zodat de tests worden uitgevoerd op het externe Grid.
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class TestingBotTest {
private WebDriver driver;
@BeforeClass
public void setUp() throws Exception {
DesiredCapabilities capabillities = DesiredCapabilities.firefox();
capabillities.setCapability("version", "11");
capabillities.setCapability("platform", Platform.WINDOWS);
capabillities.setCapability("name", "Testing Selenium 2");
driver = new RemoteWebDriver(
new URL(
"http://ClientKey:ClientSecret@hub.testingbot.com:4444/wd/hub"),
capabillities);
}
@Test
public void testSimple() throws Exception {
driver.get("http://selenium.polteq.com/prestashop/");
driver.findElement(By.cssSelector("input#search_query_top")).sendKeys(
"ipod nano");
driver.findElement(By.cssSelector("input[name='submit_search']"))
.click();
String searchHeader = driver.findElement(By.cssSelector("H1"))
.getText().toLowerCase();
Assert.assertTrue(searchHeader.contains("ipod nano"));
}
@AfterClass
public void tearDown() throws Exception {
driver.quit();
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class TestingBotTest {
private WebDriver driver;
@BeforeClass
public void setUp() throws Exception {
DesiredCapabilities capabillities = DesiredCapabilities.firefox();
capabillities.setCapability("version", "11");
capabillities.setCapability("platform", Platform.WINDOWS);
capabillities.setCapability("name", "Testing Selenium 2");
driver = new RemoteWebDriver(
new URL(
"http://ClientKey:ClientSecret@hub.testingbot.com:4444/wd/hub"),
capabillities);
}
@Test
public void testSimple() throws Exception {
driver.get("http://selenium.polteq.com/prestashop/");
driver.findElement(By.cssSelector("input#search_query_top")).sendKeys(
"ipod nano");
driver.findElement(By.cssSelector("input[name='submit_search']"))
.click();
String searchHeader = driver.findElement(By.cssSelector("H1"))
.getText().toLowerCase();
Assert.assertTrue(searchHeader.contains("ipod nano"));
}
@AfterClass
public void tearDown() throws Exception {
driver.quit();
}
}
|
Extra opties
Screenshots
Neem een screenshots bij elke stap van de test.
capabillities.setCapability("screenshot", true);
1 |
capabillities.setCapability("screenshot", true);
|
Video
Een video opnemen van uw test, die toegankelijk is in de member area.
capabillities.setCapability("screenrecorder", true);
1 |
capabillities.setCapability("screenrecorder", true);
|
Test Name
Voeg een naam toe aan de test, die zal verschijnen in onze member area.
capabillities.setCapability("name", "Test Script Name");
1 |
capabillities.setCapability("name", "Test Script Name");
|
Custom data
Stuur extra gegevens met de test mee, bijvoorbeeld uw build-nummer, release, server, enz. ..
capabillities.setCapability("extra", "release 1.2.3");
1 |
capabillities.setCapability("extra", "release 1.2.3");
|

RT @TheWebTester #testautomation #selenium #in Run Selenium tests in the cloud with TestingBot http://t.co/1MILQnTh
#testingbot