package com.zhihu.tes;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.AndroidMobileCapabilityType;
import io.appium.java_client.remote.MobileCapabilityType;
public class ZhihuLoginTest {
AndroidDriver driver;
@BeforeClass
public void beforeClass() throws Exception {
// 这里写的是初始化driver的过程
File app = new File("C:/Users/LXG/Desktop/zhihunew1.apk");// 要安装的测试app路径
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());// app路径参数
caps.setCapability(MobileCapabilityType.DEVICE_NAME, "sui bian xie");//
caps.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, true);
caps.setCapability(AndroidMobileCapabilityType.RESET_KEYBOARD, true);
caps.setCapability(AndroidMobileCapabilityType.NO_SIGN, true);
driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps);
}
/**
* 测试的业务流程 1.点击邮箱 2.输入用户名和密码 3.点击登录 4.判断登录是否成功
*/
@Test
public void login() {
driver.findElement(By.id("com.zhihu.android:id/email_text")).click();
driver.findElement(By.id("com.zhihu.android:id/email_input_view")).sendKeys("xxxxxxxxxxxxxxx");
driver.findElement(By.id("com.zhihu.android:id/password")).sendKeys("xxxxxxxxxxxx");
driver.findElement(By.id("com.zhihu.android:id/main_tab")).click();
Assert.assertEquals(driver.getPageSource().contains("搜索"), true);
}
@AfterClass
public void afterClass() {
driver.quit();
}
}
3. 执行脚本
3.1 检查设备连接是否正常,命令行执行adb devices,并且设备状态必须是device
3.2 启动appium服务端,命令行下直接输入appium或者在appium的界面版本中启动appium服务
3.3执行测试,在当前测试类上右键-->Run as--> Testng Test,即可执行测试,如下: