1 package androidtest
.tests
;
5 import java
.util
.concurrent
.TimeUnit
;
7 import org
.openqa
.selenium
.By
;
8 import org
.openqa
.selenium
.NoSuchElementException
;
9 import org
.openqa
.selenium
.TimeoutException
;
10 import org
.openqa
.selenium
.remote
.DesiredCapabilities
;
11 import org
.openqa
.selenium
.support
.ui
.WebDriverWait
;
12 import io
.appium
.java_client
.android
.AndroidDriver
;
13 import io
.appium
.java_client
.android
.AndroidElement
;
14 import junit
.framework
.TestCase
;
16 public class Common
extends TestCase
{
18 static int waitingTime
= 30;
22 protected void setUpCommonDriver () throws Exception
{
23 File rootPath
= new File(System
.getProperty("user.dir"));
24 File appDir
= new File(rootPath
,"src/test/resources");
25 File app
= new File(appDir
,"ownCloud.apk");
26 DesiredCapabilities capabilities
= new DesiredCapabilities();
27 capabilities
.setCapability("platformName", "Android");
28 capabilities
.setCapability("deviceName", "Device");
29 capabilities
.setCapability("app", app
.getAbsolutePath());
30 capabilities
.setCapability("app-package", "com.owncloud.android");
31 capabilities
.setCapability("app-activity", ".ui.activity.FileDisplayActivity");
32 capabilities
.setCapability("appWaitActivity", ".authentication.AuthenticatorActivity");
33 driver
= new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities
);
34 driver
.manage().timeouts().implicitlyWait(waitingTime
, TimeUnit
.SECONDS
);
35 wait
= new WebDriverWait(driver
, waitingTime
, 50);
39 protected boolean waitForTextPresent(String text
, AndroidElement element
) throws InterruptedException
{
40 for (int second
= 0;;second
++){
41 if (second
>= waitingTime
)
44 if (text
.equals(element
.getText()))
46 } catch (Exception e
){
54 protected boolean isElementPresent(AndroidElement element
, By by
) {
56 element
.findElement(by
);
58 } catch (NoSuchElementException e
) {
63 protected boolean isElementPresent(AndroidElement element
) {
65 element
.isDisplayed();
66 } catch (NoSuchElementException e
){
72 //pollingTime in milliseconds
73 public static void waitTillElementIsNotPresent (AndroidElement element
, int pollingTime
) throws Exception
{
74 for (int time
= 0;;time
+= pollingTime
){
75 if (time
>= waitingTime
* 1000) //convert to milliseconds
78 element
.isDisplayed();
79 } catch (NoSuchElementException e
){
82 Thread
.sleep(pollingTime
);
84 throw new TimeoutException();