乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      APPIUM操作android apk

       小豬窩969 2015-12-11
      安裝appium for window
      安裝Node js
      下載:java-client.jar
      首先安裝appium 安裝完成后在環(huán)境變量path添加"C:\Program Files (x86)\Appium\node_modules\.bin;"
      驗證安裝在命令行輸入:appium-doctor
      如果出現(xiàn)下圖:表名配置成功
       
       

      安裝Node js 安裝完畢再環(huán)境變量path 添加安裝路徑“;C:\Program Files\nodejs”
      命令行輸入:node -v 如下圖
       
       配置目錄如下:把知乎客戶端命名為zhihu.apk
       
       
       
       
       
      配置好appium環(huán)境之后,啟動appium 選擇項目的apk  ,可以看見apk的package和Activity 如下圖:
       
       怎么去識別APP的元素的,這里用到Android SDK tools 目錄下的工具uiautomatorviewer ,執(zhí)行uiautomatorviewer.bat就可
      如下圖:比如登陸按鈕,看到resourceId,就是webdriver的find Element By.id
       
       
      至于登陸用戶名和密碼,在Android中都是EditText控件,可以使用By.class
       
      完成對象識別,最終代碼如下:
      public class AppPPDemo {
       private AndroidDriver driver;
        @Test
        public void addContact() {
                  App_login login = PageFactory.initElements(driver, App_login.class);
                  //點擊登錄按鈕
                  login.login(); //紅色標記部分 是我試驗能不能用webdriver的FindBy 和PageFactory,試驗成功可以使用 上面封裝的文件就是APP_login.java那個文件,下面會把代碼貼出來

                  //等待
                 driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
                 //輸入用戶名和密碼
                 List<WebElement> text_input = driver.findElementsByClassName("android.widget.EditText");
                  text_input.get(0).sendKeys("546995529@qq.com");
                 text_input.get(1).sendKeys("wf1989");
        
                 WebElement button=driver.findElement(By.id("android:id/button1"));
                 button.click();
                  driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
                WebElement logout_button=driver.findElement(By.className("android.widget.ImageButton"));
                logout_button.click();
                WebElement logout = driver.findElement(By.id("android:id/title"));
               String title = logout.getText();
               System.out.println(title);
              logout.click();
        
        
        }
        @BeforeMethod
        public void beforeMethod() throws MalformedURLException {
               //設(shè)置appium,拿到path里面的appium路徑
               File classpathRoot = new File(System.getProperty("user.dir"));
              System.out.println("class是"+classpathRoot);
              //存放APP的目錄
              File appDir = new File(classpathRoot,"apps");
            System.out.println("appdIR是:"+appDir);
             File app = new File (appDir,"zhihu.apk");
             DesiredCapabilities zhihu=new DesiredCapabilities();
             zhihu.setCapability(CapabilityType.BROWSER_NAME,"");
             //deviceName
             zhihu.setCapability("deviceName","d6556835");
             //安卓機版本號
             //capabilities.setCapability(CapabilityType.VERSION, "4.4.2");
             //使用的平臺
             zhihu.setCapability(CapabilityType.PLATFORM, "WINDOWS");
              //獲取app的據(jù)對路徑 getAbsolutePath獲取絕對路徑
             // zhihu.setCapability("app",app.getAbsolutePath());
             zhihu.setCapability("app-package", "com.zhihu.android");
              zhihu.setCapability("app-activity", ".ui.activity.GuideActivity");
        
              driver=new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),zhihu);
        
        }
        @AfterMethod
        public void afterMethod() {
             driver.quit();
        }
      }
      上面封裝的APP_login.java 腳本
      public class App_login {
              WebDriver driver;
              @FindBy(how=How.ID,id="com.zhihu.android:id/login")
               WebElement loginbutton;
       public App_login(WebDriver driver){
                 this.driver=driver;
       }
        @Test
        public void login() {
                  loginbutton.click();
        }
      }
       這個是真機運行腳本,如果想在android模擬器上運行直接用adb devices 命令查看deviceName 替換上面腳本高亮的部分,直接運行就行

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多