auto.js常用語法

1 模擬滾動

// 此滾動方式為向上滾動,很順滑,1秒滾動一次。
function  swipe() {
        sleep(1000);
        swipe(width / 2, height - 500, width / 2, 0, 500);
}

2 啟動

auto.waitFor();
var height = device.height;
var width = device.width;
toast("\n設(shè)備寬" + width + "\n" + "設(shè)備高" + height + "\n" + "手機型號" + device.model + "\n安卓版本" + device.release)
setScreenMetrics(width, height);
toast("設(shè)備高"+height);

3 無限循環(huán)事件 + 控件查找 + 點擊

function swipe22s(act){
    while(textContains(act).exists()){        
        toast("存在" + act);
        textContains(act).findOne().click();
        sleep(1500);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(2500);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(10000);
        swipe(width / 2, height - 500, width / 2, 0, 500);
        sleep(8000);
        if(textContains("完成").exists()){
            back();
        sleep(1000);
if (textContains("忍痛離開").exists()) {
     textContains("忍痛離開").findOne().click();
 }
 if (textContains("晚點再來").exists()) {
     textContains("晚點再來").findOne().click();
 }
        } else {
        sleep(2200);
        back();
        sleep(1000);
if (textContains("忍痛離開").exists()) {
    textContains("忍痛離開").findOne().click();
}
if (textContains("晚點再來").exists()) {
    textContains("晚點再來").findOne().click();
}
        sleep(3000);
        }
        sleep(1600);
    }
    toast("完成[" + act + "]檢測");
    sleep(2000);
}

4 根據(jù)字符串查找控件, 默認超時timeout=0

// 根據(jù)字符串查找控件, 默認超時timeout=0
function findOneByStr(str, timeout) {
    timeout = timeout || 0;
    let widget = null;
    let isTimeout = false;    // 是否超時
    let endTime = (timeout > 0) ? (new Date().getTime() + timeout) : -1;   // 結(jié)束時間
    do {
        widget = text(str).findOne(250) || desc(str).findOne(250);
        if (widget) {
            return widget;
        }
        isTimeout = (timeout <= 0) ? false : (new Date().getTime() - endTime > 0);
    } while (!isTimeout || widget != null);
}

代碼塊之: 連續(xù)滾動20秒

auto.waitFor();
var height = device.height;
var width = device.width;
toast("\n設(shè)備寬" + width + "\n" + "設(shè)備高" + height + "\n" + "手機型號" + device.model + "\n安卓版本" + device.release)
setScreenMetrics(width, height);
toast("設(shè)備高"+height);
autoplay();

function  swipe20() {
        sleep(1000);
        swipe(width / 2, height - 500, width / 2, 0, 500);
}
function autoplay(){
    toast("開始做滾動20秒任務(wù),做完后自動返回上一頁.");
    sleep(1000);
    for (let index = 0; index < 20; index++) {
         swipe20();
    }
    back();
    sleep(1000);
    toast("結(jié)束");
}

將某個控件轉(zhuǎn)為點 點擊 注意: 如果不是控件則會崩潰

function clickBoundsBtn(button) {
    let clickBounds = button.bounds();
    click(clickBounds.centerX(), clickBounds.centerY());
    console.log("點擊了: ",button);
    sleep(3000);
}

打印要點擊的位置,以及信息,然后沉睡多少秒

//打印要點擊的位置,以及信息,然后沉睡多少秒
function clickLogWithSleep(clickX,clickY,clickLog,點擊前延遲幾秒,點擊后延遲幾秒) {
    log("X: %d , Y: %d 控件log: %s 點擊前延遲: %s 秒,點擊后延遲: %s 秒",clickX,clickY,clickLog,點擊前延遲幾秒,點擊后延遲幾秒);
    sleep(點擊前延遲幾秒 * 1000);
    click(clickX,clickY);
    sleep(點擊后延遲幾秒 * 1000);
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 首先附上jQuery官網(wǎng) http://jquery.com/ 2.0版本開始放棄了對IE7/8及其之前版本的...
    風之帆閱讀 780評論 4 2
  • 文檔結(jié)構(gòu) 需要使用HTML5文檔結(jié)構(gòu) <!DocType html> 移動設(shè)備優(yōu)先 需要在頭部增加 標簽 引...
    風之帆閱讀 2,653評論 0 4
  • 為了提高程序的健壯性,避免頁面還未加載出來時就點擊某控件造成的失敗,可以使用一下幾種solo提供的方法。 1.sl...
    海的那一邊閱讀 557評論 1 1
  • 連接設(shè)備 使用USB連接: d=u2.connect_USB('148b4090')輸入手機序列號 d是給當前連接...
    迷迭香_d0e9閱讀 7,637評論 0 5
  • 由于appium是擴展了Webdriver協(xié)議,所以可以使用webdriver提供的方法,比如在處理webview...
    濤b閱讀 1,151評論 0 0

友情鏈接更多精彩內(nèi)容