2 * ownCloud Android client application
5 * Copyright (C) 2015 ownCloud Inc.
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2,
9 * as published by the Free Software Foundation.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 package com
.owncloud
.android
.test
.ui
.models
;
23 import io
.appium
.java_client
.android
.AndroidDriver
;
24 import io
.appium
.java_client
.android
.AndroidElement
;
25 import io
.appium
.java_client
.pagefactory
.AndroidFindBy
;
26 import io
.appium
.java_client
.pagefactory
.AppiumFieldDecorator
;
28 import org
.openqa
.selenium
.support
.CacheLookup
;
29 import org
.openqa
.selenium
.support
.PageFactory
;
31 import com
.owncloud
.android
.test
.ui
.testSuites
.Config
;
33 public class SettingsView
{
34 final AndroidDriver driver
;
37 @AndroidFindBy(name
= Config
.userAccount
)
38 private AndroidElement accountElement
;
41 @AndroidFindBy(name
= Config
.userAccount2
)
42 private AndroidElement accountElement2
;
44 @AndroidFindBy(name
= "Delete account")
45 private AndroidElement deleteAccountElement
;
47 @AndroidFindBy(name
= "Change password")
48 private AndroidElement changePasswordElement
;
50 @AndroidFindBy(name
= "Add account")
51 private AndroidElement addAccountElement
;
53 @AndroidFindBy(uiAutomator
= "new UiSelector()"
54 + ".className(\"android.widget.CheckBox\").index(0)")
55 private AndroidElement passcodeCheckbox
;
57 public SettingsView (AndroidDriver driver
) {
59 PageFactory
.initElements(new AppiumFieldDecorator(driver
), this);
62 public void tapOnAccountElement (int fingers
, int milliSeconds
) {
63 accountElement
.tap(fingers
, milliSeconds
);
67 public void tapOnAddAccount (int fingers
, int milliSeconds
) {
68 addAccountElement
.tap(fingers
, milliSeconds
);
71 public LoginForm
clickOnDeleteAccountElement () {
72 deleteAccountElement
.click();
73 LoginForm loginForm
= new LoginForm(driver
);
77 public LoginForm
clickOnChangePasswordElement () {
78 changePasswordElement
.click();
79 LoginForm loginForm
= new LoginForm(driver
);
83 public PassCodeView
EnablePassCode(){
84 if(!passcodeCheckbox
.isSelected()){
85 passcodeCheckbox
.click();
87 PassCodeView passcodeview
= new PassCodeView(driver
);
91 public PassCodeView
DisablePassCode(){
92 if(passcodeCheckbox
.isSelected()){
93 passcodeCheckbox
.click();
95 PassCodeView passcodeview
= new PassCodeView(driver
);