zoukankan      html  css  js  c++  java
  • appim自动化--点击指定控件的指定位置

    终于有意识的把代码块封装起来了,首次给自个赞个:)

    点击指定控件的指定位置,要用到枚举~~

    package appiumtest;
    import java.net.URL;
    
    import io.appium.java_client.MobileElement;
    import io.appium.*;
    import io.appium.java_client.AppiumDriver;
    import io.appium.java_client.android.AndroidDriver;
    
    import org.apache.bcel.generic.SWITCH;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import org.openqa.selenium.*;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.remote.DesiredCapabilities;
    
    import com.robotium.solo.*;
    
    public class test {
        private AppiumDriver driver;
        private Solo solo;
        @Before
        public void setUp() throws Exception
        {
            DesiredCapabilities capabilities=new DesiredCapabilities();
            capabilities.setCapability("deviceName", "Android Emulator");
            capabilities.setCapability("platformName", "Android");
            capabilities.setCapability("platformVersion", "4.4");
            capabilities.setCapability("appPackage", "com.android.contacts");
            capabilities.setCapability("appActivity", ".activities.AuroraPeopleActivity");
            driver=new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    
        }
        
        @After
        public void tearDown() throws Exception
        {
            driver.quit();
    
        }
        
        @Test
        public void addcontacts()throws Exception
        {
            clickControl(driver.findElementByName("彭洪"),Location.UPLEFT );
            
        }
        
        
        public enum Location{
            UPLEFT,LOWLEFT,UPRIGHT,LOWRIGHT,CENTRE
        }
        
        public void clickControl(WebElement webElement,Location location) throws InterruptedException
        {
            int h=webElement.getSize().height;
            int w=webElement.getSize().width;
            int x=webElement.getLocation().x;
            int y=webElement.getLocation().y;
            System.out.println(h);
            System.out.println(w);
            System.out.println(x);
            System.out.println(y);
        
            switch(location)
            {
            case LOWLEFT:
                driver.tap(1,x,y+h,100);
                Thread.sleep(2000);
            case UPLEFT:
                driver.tap(1, x, y, 100);
                Thread.sleep(2000);
            case UPRIGHT:
                driver.tap(1,x+w,y,100);
                Thread.sleep(2000);
            case LOWRIGHT:
                driver.tap(1,x+w,y+h,100);
                Thread.sleep(2000);
            case CENTRE:
                driver.tap(1, x+w/2, y+h/2,100);
                Thread.sleep(2000);
                
            }
            }
    
    }
  • 相关阅读:
    VC++6.0调用外部dll
    VC++6.0配置Opencv
    Qt 解决中文乱码问题
    Qt Widget控件设置布局后,内部控件大小发生变化
    QtDesigner 控件自适应窗体的方法
    QtSoap调用WebService服务
    QLabel自定义类实现点击效果以及鼠标掠过字体的颜色变化效果
    VS2017中工具箱控件是灰色(不可用)解决方法
    OpenCV(3.4.1) Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file C:uildmaster_winpack-build-win64-vc15opencvmoduleshighguisrcwindow.cpp, line 356
    OpenCV之错误集锦-1
  • 原文地址:https://www.cnblogs.com/penghong2014/p/4368098.html
Copyright © 2011-2022 走看看