package com.lemon.day01;java
import java.net.MalformedURLException;android
import java.net.URL;shell
import java.util.List;數組
import org.openqa.selenium.By;app
import org.openqa.selenium.WebElement;ide
import org.openqa.selenium.remote.DesiredCapabilities;測試
import org.testng.Assert;ui
import org.testng.annotations.AfterClass;url
import org.testng.annotations.BeforeClass;spa
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
public class APPTest3 {
AppiumDriver<WebElement> driver;
@BeforeClass
public void beforeClass() throws MalformedURLException, InterruptedException{
//1;添加配置
//手工:找到設備、APP、APP某個頁面
DesiredCapabilities desiredcapabilities = new DesiredCapabilities();
desiredcapabilities.setCapability("deviceName","127.0.0.1:52001");//設備名
desiredcapabilities.setCapability("appPackage","com.tencent.mm");//app包,區別咱們每臺設備的app
//使用命令:adb shell dumpsys activity | find "mFocusedActivity"
desiredcapabilities.setCapability("appActivity","com.tencent.mm.ui.LauncherUI");//指定頁面
//2;建立驅動
//remoteAddress:遠程url地址
//desiredCapablites :這個驅動指望獲得的能力
URL remoteAddress = new URL("http://127.0.0.1:4723/wd/hub");//固定不變的
driver = new AndroidDriver<WebElement>(remoteAddress,desiredcapabilities);
//3;找到頁面元素
//自動化:程序自動定位到頁面元素
Thread.sleep(10000);
WebElement registerBtn = driver.findElement(By.id("d36"));
Thread.sleep(10000);
registerBtn.click();
Thread.sleep(1000);
}
@AfterClass
public void fun(){
driver.quit();
}
@Test(dataProvider = "testDatas")
//拿到數據提供者的數據,循環這個二維數組,提取元素(一維數組),會把一維數組中的每一個元素依次注入到形式參數裏
//能夠把數據提供者的數據注入到測試方法的形式參數裏
public void TestCase(String nickName,String mobilPhone,String pwd ) throws MalformedURLException, InterruptedException {
//4;操做頁面元素來模擬用戶操做
//測試用例,進入註冊頁面,如 暱稱、手機號、密碼都不輸入的狀況,而後點擊註冊
List<WebElement> elements = driver.findElements(By.id("ht"));
//每次清空
elements.get(0).clear();
elements.get(1).clear();
elements.get(2).clear();
// WebElement nickNameInput = driver.findElement(By.id("ht"));
//nickNameInput.sendKeys("");//輸入字符串
elements.get(0).sendKeys(nickName);
// WebElement mobilPhoneInput = driver.findElement(By.id("ht"));
// mobilPhoneInput.sendKeys("");
elements.get(1).sendKeys(mobilPhone);
// WebElement pwdInput = driver.findElement(By.id("ht"));
//pwdInput.sendKeys("");
elements.get(2).sendKeys(pwd);
WebElement registerBtnn = driver.findElement(By.id("cw1"));
boolean isEnabled = registerBtnn.isEnabled();//是否被激活
Assert.assertFalse(isEnabled);//斷言判斷是否能夠點擊
}
@DataProvider
public Object[][] testDatas(){
//int[] array1 = {1,2,3,4};//靜態數組
Object[][] datas = {{"","",""},{"shashe","",""},{"shashe","15111917843",""}};
return datas;
}
}