package com.android;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Listeners;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidKeyCode;
@Listeners
public class AndroidCase {
static AndroidDriver<WebElement> driver;
String a;
//环境搭建配置
@BeforeTest
public AndroidDriver<WebElement> getDriver() throws MalformedURLException {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("sessionOverride", true);
capabilities.setCapability("device", "A10ABNQSNPG6");
capabilities.setCapability("deviceName", "
Android");
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
// capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,
// AutomationName.ANDROID_UIAUTOMATOR2);
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "5.1");
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "apps");
File app = new File(appDir, "roc5.apk");
capabilities.setCapability("app", app.getAbsolutePath());
//capabilities.setCapability("noReset", true);
capabilities.setCapability("app-package", "com.epay.impay.ui.roc");
// capabilities.setCapability("app-activity",
// "com.epay.impay.ui.rongfutong.MainMenuIPosActivity");
driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
//此处设置的等待时间 是针对全局设置的,webdriver中执行所有命令 的超时时间都设置为30秒了, 如上面的findElement方法,找不到元素会默认等待三十秒。
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
System.out.println("Driver创建完成");
return driver;
}
//启动界面
@BeforeClass
public void linkPage() throws InterruptedException {
Thread.sleep(10000);
int width = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;
System.out.println(width);
System.out.println(height);
Thread.sleep(10000);
for (int i = 0; i < 4; i++) {
driver.swipe(width * 13 / 14, height / 2, width * 1 / 14, height / 2, 1150);
if (i == 3) {
driver.findElementById("com.epay.impay.ui.roc:id/button").click();
}
System.out.println(i);
}
Thread.sleep(2000);
}
//登录用例
@Parameters({"PhoneNumber","password"})
@Test
public void loginCase(String PhoneNumber, String password) throws InterruptedException {
Thread.sleep(20000);
driver.findElementById("com.epay.impay.ui.roc:id/relativeLayout1").click();
Thread.sleep(20000);
driver.findElementById("com.epay.impay.ui.roc:id/loginBtn").click();
Thread.sleep(2000);
WebElement eUn = driver.findElementById("com.epay.impay.ui.roc:id/et_phonenum");
eUn.clear();
eUn.sendKeys(PhoneNumber);
WebElement ePw = driver.findElementById("com.epay.impay.ui.roc:id/et_pwd");
ePw.clear();
ePw.sendKeys(password);
WebElement elogin = driver.findElementById("com.epay.impay.ui.roc:id/btn_login");
driver.pressKeyCode(AndroidKeyCode.BACK);// 隐藏系统键盘
elogin.click();
if(!elogin.isDisplayed()){
a = "登陆成功";
}else{
a = "登录失败";
}
System.out.println(a+"dwqfqfqfrffer");
Assert.assertEquals(a, "登陆成功");
}
public void gettest(){
for(int i=0;i<40;i++){
System.out.println("fvwveeeeeeeeeee");
AndroidCase.test();
}
}
@Test
public static void test(){
String b = "b";
Assert.assertEquals(b, "b");
}
////刷卡支付
//@Test
//public void payByCardCase() throws InterruptedException{
//Thread.sleep(10000);
//driver.findElementById("com.epay.impay.ui.roc:id/relativeLayout1").click();
//Thread.sleep(5000);
//driver.findElementById("com.epay.impay.ui.roc:id/cbox_phone").click();
//Thread.sleep(1000);
//driver.findElementById("com.epay.impay.ui.roc:id/et_money").sendKeys("10");
//
//driver.findElementById("com.epay.impay.ui.roc:id/tv_category").click();
//List<WebElement> list = driver.findElementsById("android:id/text1");
//WebElement dealType = list.get(1);
//System.out.println(dealType.getText()+"qqqq");
//dealType.click();
////刷卡支付 下一步
//driver.findElementById("com.epay.impay.ui.roc:id/btn_next").click();
//driver.pressKeyCode(AndroidKeyCode.BACK);
//
//}
//
}