移动应用测试----淘宝

 本文仅涉及方法,只供参考。

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();
	}


}

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Larry Chow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值