package wconcept;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidTouchAction;
import io.appium.java_client.touch.WaitOptions;
import io.appium.java_client.touch.offset.PointOption;
import io.appium.java_client.TouchAction;
import io.appium.java_client.android.AndroidDriver;
public class login {
public static AndroidDriver driver;
@Before
public void open() throws MalformedURLException {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName","1223");
// capabilities.setCapability("automationName","Appium");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("platformVersion","8.0");
//配置测试apk
capabilities.setCapability("appPackage", "com.sh.wcc");
capabilities.setCapability("appActivity", ".icon.ActivityDefault ");
//capabilities.setCapability("waitActivity", ".icon.ActivityDefault ");
// capabilities.setCapability("sessionOverride", true); //每次启动时覆盖session,否则第二次后运行会报错不能新建session
// capabilities.setCapability("unicodeKeyboard", true); //设置键盘
// capabilities.setCapability("resetKeyboard", false); //设置默认键盘为appium的键盘
// URL url = new URL("http://127.0.0.1:4723/wd/hub");
//
// driver = new AppiumDriver(url, capabilities);
// String sessionId = driver.getSessionId().toString();
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(15,TimeUnit.SECONDS);
}
@Test
public void login() throws MalformedURLException, InterruptedException {
//"com.sh.wcc", ".view.main.MainActivity"
//driver.getCommandExecutor()
//driver.startActivity(new Activity("com.sh.wcc", ".view.main.MainActivity"));
int width = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;
TouchAction action1=new TouchAction(driver);
// TouchAction action1=new TouchAction(driver).press(PointOption.point(width/2, height*3/4)).waitAction(WaitOptions.waitOptions(duration))
// .moveTo(PointOption.point(width/2, height/4)).release();
// action1.perform();
// TouchAction action1=new TouchAction(driver).press(PointOption.point(width/2, height*3/4)).waitAction(WaitOptions.waitOptions(duration))
// .moveTo(PointOption.point(width/2, height/4)).release();
// action1.perform();
driver.findElement(By.xpath("//*[@text='确定']")).click();
driver.findElement(By.xpath("//*[@text='允许']")).click();
driver.findElement(By.xpath("//*[@text='允许']")).click();
//driver.findElement(By.xpath("//*[@text='跳过']")).click();
System.out.println(driver.currentActivity());
Thread.sleep(20000);
Thread.sleep(1000);
//driver.findElement(By.id("com.sh.wcc:id/iv_right_close")).click();
//模拟点击事件
action1.tap(PointOption.point(500, 600)).perform();
//driver.activateApp("com.sh.wcc");
driver.findElement(By.xpath("//*[@text='我的']")).click();
//点击登录
driver.findElement(By.id("com.sh.wcc:id/avatar")).click();
//点击密码登录
driver.findElement(By.xpath("//*[@text='密码']")).click();
//输入账号密码
driver.findElement(By.xpath("//*[@text='请填写手机号码']")).sendKeys("user");
driver.findElement(By.xpath("//*[@text='请填写密码']")).sendKeys("pwd");
//登录
driver.findElement(By.xpath("//*[@text='登录']")).click();
String name=driver.findElement(By.id("com.sh.wcc:id/nickName")).getText();
System.out.println(name);
Assert.assertEquals("一二", name);
}
}