Appium怎樣驅動手機淘寶APP

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.net.MalformedURLException;
import java.net.URL;

import static java.lang.Thread.sleep;

public class TaobaoAppTest {
    private AppiumDriver driver;

    @BeforeMethod
    public void beforeMethod()
            throws MalformedURLException, InterruptedException {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("platformName","Android");
        //Mobile OS類型
        capabilities.setCapability("platformVersion","7.1.1");
        //Mobile OS版本
        capabilities.setCapability("deviceName","3216e430");
        //adb devices
        capabilities.setCapability("browserName","");
        //Web瀏覽器名稱,如果對App測試,值爲空
        capabilities.setCapability("appPackage","com.taobao.taobao");
        //手機淘寶包名
        capabilities.setCapability("appActivity","com.taobao.tao.welcome.Welcome");
        //手機淘寶的launcherActivity
        capabilities.setCapability("unicodeKeyboard",true);
        //支持中文輸入,默認false
        capabilities.setCapability("resetKeyboard",true);
        //重置輸入法爲系統默認
        capabilities.setCapability("noSign",true);
        //不重新簽名apk
        capabilities.setCapability("noReset", true);
        //不重新安裝apk

        URL url = new URL("http://127.0.0.1:4723/wd/hub");
        driver = new AndroidDriver(url, capabilities);
        sleep(3000);
    }

    @Test
    public void taobaoApp() throws InterruptedException {
        driver.findElementById("com.taobao.taobao:id/home_searchedit")
                .click();
        //點擊淘寶搜索框
        sleep(2000);
        driver.findElementById("com.taobao.taobao:id/searchEdit")
                .sendKeys("華碩官方旗艦店");
        driver.findElementById("com.taobao.taobao:id/searchbtn")
                .click();
        sleep(4000);

        Assert.assertTrue(driver.getPageSource().contains("asus華碩官方旗艦店"));
        //斷言
    }

    @AfterMethod
    public void afterMethod(){
        driver.closeApp();
        driver.quit();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章