Skip to content

Commit 2172119

Browse files
authored
Merge pull request #8 from browserstack/use_native
use Android Driver Element instead of Selenium
2 parents 26bcce6 + f2b96e2 commit 2172119

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

android/BrowserStackAndroid.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
import java.net.URL;
22
import java.util.List;
33
import java.net.MalformedURLException;
4+
5+
import io.appium.java_client.MobileBy;
46
import io.appium.java_client.android.AndroidDriver;
7+
import io.appium.java_client.android.AndroidElement;
58

6-
import org.openqa.selenium.By;
7-
import org.openqa.selenium.WebElement;
89
import org.openqa.selenium.support.ui.ExpectedConditions;
910
import org.openqa.selenium.support.ui.WebDriverWait;
1011
import org.openqa.selenium.remote.DesiredCapabilities;
1112

1213
public class BrowserStackAndroid {
13-
14+
1415
public static String accessKey = "BROWSERSTACK_USERNAME";
1516
public static String userName = "BROWSERSTACK_ACCESS_KEY";
1617

@@ -21,17 +22,17 @@ public static void main(String args[]) throws MalformedURLException, Interrupted
2122
capabilities.setCapability("device", "Samsung Galaxy S7");
2223
capabilities.setCapability("app", "bs://<hashed app-id>");
2324

24-
AndroidDriver driver = new AndroidDriver(new URL("https://"+userName+":"+accessKey+"@hub.browserstack.com/wd/hub"), capabilities);
25+
AndroidDriver driver = new AndroidDriver<AndroidElement>(new URL("https://"+userName+":"+accessKey+"@hub.browserstack.com/wd/hub"), capabilities);
2526

26-
WebElement searchElement = new WebDriverWait(driver, 30).until(
27-
ExpectedConditions.elementToBeClickable(By.id("Search Wikipedia")));
27+
AndroidElement searchElement = (AndroidElement) new WebDriverWait(driver, 30).until(
28+
ExpectedConditions.elementToBeClickable(MobileBy.AccessibilityId("Search Wikipedia")));
2829
searchElement.click();
29-
WebElement insertTextElement = new WebDriverWait(driver, 30).until(
30-
ExpectedConditions.elementToBeClickable(By.id("org.wikipedia.alpha:id/search_src_text")));
30+
AndroidElement insertTextElement = (AndroidElement) new WebDriverWait(driver, 30).until(
31+
ExpectedConditions.elementToBeClickable(MobileBy.id("org.wikipedia.alpha:id/search_src_text")));
3132
insertTextElement.sendKeys("BrowserStack");
3233
Thread.sleep(5000);
3334

34-
List<WebElement> allProductsName = driver.findElements(By.className("android.widget.TextView"));
35+
List<AndroidElement> allProductsName = driver.findElementsByClassName("android.widget.TextView");
3536
assert(allProductsName.size() > 0);
3637

3738
driver.quit();

0 commit comments

Comments
 (0)