import java.net.MalformedURLException; import java.net.URL; import java.util.List; import org.hamcrest.collection.IsCollectionWithSize; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.RemoteWebDriver; import ai.test.classifier_client.ClassifierClient; public class Edition101_AI_For_Selenium { private RemoteWebDriver driver; private ClassifierClient classifier; @Before public void setUp() throws MalformedURLException { driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), new ChromeOptions()); classifier = new ClassifierClient("127.0.0.1", 50051); } @After public void tearDown() throws InterruptedException { if (driver != null) { driver.quit(); } if (classifier != null) { classifier.shutdown(); } } @Test public void testClassifierClient() throws Exception { driver.get("https://test.ai"); List<WebElement> els = classifier.findElementsMatchingLabel(driver, "twitter"); Assert.assertThat(els, IsCollectionWithSize.hasSize(1)); els.get(0).click(); Assert.assertEquals(driver.getCurrentUrl(), "https://twitter.com/testdotai"); } }