本文仅涉及方法,只供参考。
package com.mooctest;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.AndroidKeyCode;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.UnreachableBrowserException;
public class Main {
/**
* 所有和AppiumDriver相关的操作都必须写在该函数中
* @param driver
*/
public void test(AppiumDriver driver) {
try {
Thread.sleep(6000); //等待6s,待应用完全启动
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //设置尝试定位控件的最长时间为8s,也就是最多尝试8s
/*
* 余下的测试逻辑请按照题目要求进行编写
**/
//同意
driver.findElementById("com.taobao.taobao:id/provision_positive_button").click();
//允许地址
//消息
driver.findElementByXPath("//android.widget.FrameLayout[@content-desc=\"消息\"]/android.widget.ImageView").click();
driver.navigate().back();
//微淘
driver.findElementByXPath("//android.widget.FrameLayout[@content-desc=\"微淘\"]/android.widget.ImageView").click();
System.out.println("微淘");
//shouye
driver.findElementByXPath("//android.widget.FrameLayout[@content-desc=\"首页\"]").click();
System.out.println("首页");
//搜索
driver.findElementByXPath("(//android.view.View[@content-desc=\"搜索\"])[2]").click();
driver.findElementById("com.taobao.taobao:id/searchEdit").sendKeys("笔记本");
System.out.println("搜索");
//点击搜索
driver.findElementById("com.taobao.taobao:id/searchbtn").click();
driver.navigate().back();
System.out.println("一页");
driver.navigate().back();
System.out.println("2页");
driver.findElementByXPath("//android.widget.TextView[@text='女装']").click();
driver.findElementByXPath("//android.widget.TextView[@text='鞋靴']").click();
driver.findElementByXPath("//android.widget.TextView[@text='箱包']").click();
driver.findElementByXPath("//android.widget.TextView[@text='手机']").click();
driver.findElementByXPath("//android.widget.TextView[@text='男装']").click();
driver.findElementByXPath("//android.widget.TextView[@text='饰品']").click();
driver.findElementByXPath("//android.widget.TextView[@text='美妆']").click();
driver.findElementByXPath("//android.widget.TextView[@text='运动']").click();
driver.findElementByXPath("//android.widget.TextView[@text='洗护']").click();
driver.findElementByXPath("//android.widget.TextView[@text='数码']").click();
driver.findElementByXPath("//android.widget.TextView[@text='企业']").click();
driver.findElementByXPath("//android.widget.TextView[@text='车品']").click();
driver.findElementByXPath("//android.widget.TextView[@text='保健']").click();
driver.findElementByXPath("//android.widget.TextView[@text='电器']").click();
driver.findElementByXPath("//android.widget.TextView[@text='家装']").click();
driver.findElementByXPath("//android.widget.TextView[@text='内衣']").click();
driver.findElementByXPath("//android.widget.TextView[@text='母婴']").click();
driver.findElementByXPath("//android.widget.TextView[@text='百货']").click();
driver.findElementByXPath("//android.widget.TextView[@text='食品']").click();
driver.findElementByXPath("//android.widget.TextView[@text='首页']").click();
driver.findElementByXPath("//android.widget.TextView[@text='生鲜']").click();
//生鲜---查看更多
driver.findElementByXPath("//android.view.View[@content-desc=\"查看更多\"]").click();
//水果
driver.findElementByXPath("//android.view.View[@text='苹果']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='车厘子']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='山竹']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='柚子']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='石榴']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='猕猴桃']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='橙']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='梨']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='桔子']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='哈密瓜']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='菠萝蜜']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='百香果']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='柠檬']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='酱菜']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='叶菜']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='大蒜']").click();
driver.navigate().back();
driver.findElementByXPath("//android.view.View[@text='凤梨']").click();
//凤梨
//双十一
driver.findElementById("com.taobao.taobao:id/tab_icon").click();
//天猫
driver.findElementByXPath("//android.widget.TextView[@text='天猫']").click();
driver.findElementByXPath("//android.widget.TextView[@text='店铺']").click();
driver.findElementByXPath("//android.widget.TextView[@text='淘宝经验']").click();
driver.findElementByXPath("//android.widget.TextView[@text='全部']").click();
driver.findElementByXPath("//android.widget.TextView[@content-desc=\"销量\"]").click();
driver.findElementByXPath("//android.widget.TextView[@content-desc=\"列表模式\"]").click();
driver.findElementByXPath("//android.widget.TextView[@text='筛选']").click();
driver.findElementByXPath("//android.widget.TextView[@text='海南省']").click();
driver.findElementByXPath("//android.widget.TextView[@text='包邮']").click();
driver.findElementByXPath("//android.widget.EditText[@content-desc=\"最低价格\"]").sendKeys("5");
driver.findElementByXPath("//android.widget.EditText[@content-desc=\"最高价格\"]").sendKeys("40");
driver.findElementById("com.taobao.taobao:id/filter_finish").click();
driver.findElementsById("com.taobao.taobao:id/goodsimage").get(0).click();
}
/**
* AppiumDriver的初始化逻辑必须写在该函数中
* @return
*/
public AppiumDriver initAppiumTest() {
AppiumDriver driver=null;
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "apk");
File app = new File(appDir, "Taobao.apk");
//设置自动化相关参数
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("browserName", "");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName", "Android Emulator");
capabilities.setCapability("noSign", "true");
//设置apk路径
capabilities.setCapability("app", app.getAbsolutePath());
//设置app的主包名和主类名
capabilities.setCapability("appPackage", "com.taobao.taobao");
capabilities.setCapability("appActivity", "com.taobao.tao.welcome.Welcome");
//设置使用unicode键盘,支持输入中文和特殊字符
capabilities.setCapability("unicodeKeyboard","true");
//设置用例执行完成后重置键盘
capabilities.setCapability("resetKeyboard","true");
//初始化
try {
driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return driver;
}
public void start() {
test(initAppiumTest());
}
public static void main(String[] args) {
Main main = new Main();
main.start();
}
}