1 package androidtest
.tests
;
6 import org
.openqa
.selenium
.By
;
7 import org
.openqa
.selenium
.NoSuchElementException
;
8 import org
.openqa
.selenium
.remote
.DesiredCapabilities
;
10 import androidtest
.models
.LoginForm
;
11 import androidtest
.models
.MainView
;
12 import io
.appium
.java_client
.android
.AndroidDriver
;
13 import io
.appium
.java_client
.android
.AndroidElement
;
14 import junit
.framework
.TestCase
;
16 public class CommonTest
extends TestCase
{
18 final int waitingTime
= 30;
20 protected void setUpCommonDriver () throws Exception
{
21 File rootPath
= new File(System
.getProperty("user.dir"));
22 File appDir
= new File(rootPath
,"src/test/resources");
23 File app
= new File(appDir
,"ownCloud.apk");
24 DesiredCapabilities capabilities
= new DesiredCapabilities();
25 capabilities
.setCapability("platformName", "Android");
26 capabilities
.setCapability("deviceName", "Device");
27 capabilities
.setCapability("app", app
.getAbsolutePath());
28 capabilities
.setCapability("app-package", "com.owncloud.android");
29 capabilities
.setCapability("app-activity", ".ui.activity.FileDisplayActivity");
30 capabilities
.setCapability("appWaitActivity", ".authentication.AuthenticatorActivity");
31 driver
= new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities
);
34 protected boolean waitForTextPresent(String text
, AndroidElement element
) throws InterruptedException
{
35 for (int second
= 0;;second
++){
36 if (second
>= waitingTime
)
39 if (text
.equals(element
.getText()))
41 } catch (Exception e
){
49 protected boolean isElementPresent(AndroidElement element
, By by
) {
51 element
.findElement(by
);
53 } catch (NoSuchElementException e
) {
58 protected MainView
login(String url
, String user
, String password
) throws InterruptedException
{
59 LoginForm loginForm
= new LoginForm(driver
);
60 loginForm
.typeHostUrl(url
);
61 loginForm
.clickOnUserName();
62 waitForTextPresent("Secure connection established", loginForm
.getServerStatusTextElement());
63 assertTrue(waitForTextPresent("Secure connection established", loginForm
.getServerStatusTextElement()));
64 loginForm
.typeUserName(user
);
65 loginForm
.typePassword(password
);
66 return loginForm
.clickOnConnectButton();