Skip to content

Commit dc77094

Browse files
authored
Merge pull request #10 from browserstack/use_native
use Android Driver Element instead of Selenium
2 parents dafcf4c + b398e9c commit dc77094

File tree

3 files changed

+24
-24
lines changed

3 files changed

+24
-24
lines changed

android/src/test/java/com/browserstack/BrowserStackJUnitTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package com.browserstack;
22
import com.browserstack.local.Local;
33

4-
import java.io.FileReader;
54
import java.net.URL;
6-
import java.util.HashMap;
75
import java.util.Map;
8-
import java.util.ArrayList;
96
import java.util.List;
7+
import java.util.HashMap;
108
import java.util.Iterator;
11-
import org.json.simple.JSONObject;
9+
import java.util.ArrayList;
10+
import java.io.FileReader;
1211
import org.json.simple.JSONArray;
12+
import org.json.simple.JSONObject;
1313
import org.json.simple.parser.JSONParser;
1414

1515
import io.appium.java_client.android.AndroidDriver;
16+
import io.appium.java_client.android.AndroidElement;
1617

17-
import org.openqa.selenium.WebDriver;
1818
import org.openqa.selenium.remote.DesiredCapabilities;
1919

2020
import org.junit.After;
@@ -25,7 +25,7 @@
2525

2626
@RunWith(Parallelized.class)
2727
public class BrowserStackJUnitTest {
28-
public WebDriver driver;
28+
public AndroidDriver<AndroidElement> driver;
2929
private Local l;
3030

3131
private static JSONObject config;

android/src/test/java/com/browserstack/LocalTest.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,28 @@
77
import java.util.List;
88
import org.apache.commons.io.FileUtils;
99

10-
import org.openqa.selenium.By;
11-
import org.openqa.selenium.WebElement;
10+
import io.appium.java_client.MobileBy;
11+
import io.appium.java_client.android.AndroidElement;
12+
1213
import org.openqa.selenium.OutputType;
1314
import org.openqa.selenium.TakesScreenshot;
1415
import org.openqa.selenium.support.ui.WebDriverWait;
1516
import org.openqa.selenium.support.ui.ExpectedConditions;
1617

17-
1818
public class LocalTest extends BrowserStackJUnitTest {
1919

2020
@Test
2121
public void test() throws Exception {
22-
WebElement searchElement = new WebDriverWait(driver, 30).until(
23-
ExpectedConditions.elementToBeClickable(By.id("com.example.android.basicnetworking:id/test_action")));
22+
AndroidElement searchElement = (AndroidElement) new WebDriverWait(driver, 30).until(
23+
ExpectedConditions.elementToBeClickable(MobileBy.id("com.example.android.basicnetworking:id/test_action")));
2424
searchElement.click();
25-
WebElement insertTextElement = new WebDriverWait(driver, 30).until(
26-
ExpectedConditions.elementToBeClickable(By.className("android.widget.TextView")));
25+
AndroidElement insertTextElement = (AndroidElement) new WebDriverWait(driver, 30).until(
26+
ExpectedConditions.elementToBeClickable(MobileBy.className("android.widget.TextView")));
2727

28-
WebElement testElement = null;
29-
List<WebElement> allTextViewElements = driver.findElements(By.className("android.widget.TextView"));
28+
AndroidElement testElement = null;
29+
List<AndroidElement> allTextViewElements = driver.findElementsByClassName("android.widget.TextView");
3030
Thread.sleep(10);
31-
for(WebElement textElement : allTextViewElements) {
32-
System.out.println(textElement.getText());
31+
for(AndroidElement textElement : allTextViewElements) {
3332
if(textElement.getText().contains("The active connection is")) {
3433
testElement = textElement;
3534
}

android/src/test/java/com/browserstack/SingleTest.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,25 @@
55
import org.junit.Test;
66
import java.util.List;
77

8-
import org.openqa.selenium.By;
9-
import org.openqa.selenium.WebElement;
8+
import io.appium.java_client.MobileBy;
9+
import io.appium.java_client.android.AndroidElement;
10+
1011
import org.openqa.selenium.support.ui.WebDriverWait;
1112
import org.openqa.selenium.support.ui.ExpectedConditions;
1213

1314
public class SingleTest extends BrowserStackJUnitTest {
1415

1516
@Test
1617
public void test() throws Exception {
17-
WebElement searchElement = new WebDriverWait(driver, 30).until(
18-
ExpectedConditions.elementToBeClickable(By.id("Search Wikipedia")));
18+
AndroidElement searchElement = (AndroidElement) new WebDriverWait(driver, 30).until(
19+
ExpectedConditions.elementToBeClickable(MobileBy.AccessibilityId("Search Wikipedia")));
1920
searchElement.click();
20-
WebElement insertTextElement = new WebDriverWait(driver, 30).until(
21-
ExpectedConditions.elementToBeClickable(By.id("org.wikipedia.alpha:id/search_src_text")));
21+
AndroidElement insertTextElement = (AndroidElement) new WebDriverWait(driver, 30).until(
22+
ExpectedConditions.elementToBeClickable(MobileBy.id("org.wikipedia.alpha:id/search_src_text")));
2223
insertTextElement.sendKeys("BrowserStack");
2324
Thread.sleep(5000);
2425

25-
List<WebElement> allProductsName = driver.findElements(By.className("android.widget.TextView"));
26+
List<AndroidElement> allProductsName = driver.findElementsByClassName("android.widget.TextView");
2627
assertTrue(allProductsName.size() > 0);
2728
}
2829
}

0 commit comments

Comments
 (0)