appium(一)環境與屬性解釋

Appium是一個開源的自動化工具,可以用任意的編程語言去寫

使用Appium需要在本地設置一個相應服務器,相應自動化腳本的服務器,如果需要安裝請百度具體教程,或者使用node.js的命令在全局模式安裝,可視化可以用GUI安裝,會生成桌面圖標

啓動時要設置host和port,如果server是安裝在本機的,那麼host爲127.0.0.1,默認端口號爲4723點擊start後appium的服務就開啓了

客戶端建議使用maven進行編譯在pom文件進行依賴(百度一下appium maven和testng的依賴就有了,官方建議用testng),下載後就直接可以使用appium中各種各樣的api了),下載後就直接可以使用appium中各種各樣的api了

創建好測試類後就可以使用testng生成骨架,使用alt+insert選擇Generate->setup method、test Method、TearDown method這三個生成基本的骨架。

如果不知道腳本怎麼編寫,可以再官方查看給出的demo:(github.com/appium/sample-code/tree/master/sample-code/examples)根據不同的編程語言選擇junit–>然後在目錄中即可選擇demo進行查看

創建好骨架之後需要使用對應的driver,所以需要聲明一下,使用官方給出的demo,依次解釋一下:

    //這是driver
    private AppiumDriver<WebElement> driver;

    @BeforeMethod
    public void setUp() throws MalformedURLException {
		獲取根目錄
        File classpathRoot = new File(System.getProperty("user.dir"));
		
		把需要安裝apk的路徑放進去
        File app = new File(classpathRoot, "路徑/apk名字.apk");
		
		這個是綁定設備熟的屬性,所以new了一個新對象出來
        DesiredCapabilities capabilities = new DesiredCapabilities();
		
		設備的名字,這個可以隨便改
        capabilities.setCapability("deviceName","yibole");
		
		這個是指被測應用的路徑
        capabilities.setCapability("app", app.getAbsolutePath());
		
		如果想要不是每次都是第一次啓動,可以設置noReset的值喂true
		capabilities.setCapability("noReset",true);	
		這個是啓動類,啓動類如何獲得(需要反編譯或者使用SDK的aapt工具):在目錄下dir,然後輸入aapt dump badging 加上apk的名字就可以查看他的屬性,其中launchable-activity:name=“巴拉巴拉”就是他的啓動類com.巴拉巴拉開頭的
        capabilities.setCapability("appActivity", "com.balabala");
		因爲上面聲明瞭一個driver,下面這個是對對象進行實例化,AndroidDriver是服務端的地址,這裏的地址需要和appium一致,否則發了請求沒有回覆
        driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }

環境和屬性基本就是這個樣子,先喫飯(`ヮ´ )

========================================
和selenium差不多,就是先定位,然後給出操作的指令

長按

今天無意間看到一個長按的代碼

先把定位好的路徑返回給返回值類型爲WebElement的first。
WebElement first = driver.findElementByXPath("Xpath路徑");
然後new一個TouchAction方法,給個名字叫touch
TouchAction touch = new TouchAction(driver);
然後使用這個方法的longPress方法,並把路徑交給他,然後在用preform的release,就可以長按了
touch.longPress(first).perform().release();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章