appium server參數

來源:互聯網
上載者:User

標籤:

轉自:http://m.blog.csdn.net/blog/kittyboy0001/40893979appium

Appium是一個開源的,適用於原生或混合行動裝置 App應用( hybrid mobile apps)的自動化測試平台,可以非常快捷的為iOS和Android移動平台建立功能自動化測試案例。相比其他的移動自動化測試載入器,Appium測試由於調用了Selenium的client庫使其可以使用任意的語言,包括Python、Ruby、Node.js,Objective,java等。

官方地址:http://appium.io/

1 系統需求iOS

Mac OSX 10.7+ 
XCode 4.5+ w/ Command Line Tools

Android

Mac OSX 10.7+ or Windows 7+ or Linux

Android SDK ≥ 16 (SDK < 16 in Selendroid mode)

2 Appium的底層

iOS: Apple‘s UIAutomation 
Android 4.2+: Google‘s UiAutomator 
Android 2.3+: Google‘s Instrumentation

3 android真機運行
import java.net.MalformedURLException;import java.net.URL;import org.junit.After;import org.junit.Before;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import com.tmall.app.search.monkey.page.TMGuideActivityPage;import io.appium.java_client.AppiumDriver;public class BaseTest {    protected AppiumDriver driver;    //開啟app,進行一些初始化工作。如進入目標頁面等...    @Before    public void setUp() throws Exception {        setUpDriver();        //TMGuideActivityPage page = new TMGuideActivityPage(driver);        //if(page.isReady()){        //  page.splash();        //}    }      @After      public void tearDown() throws Exception {        driver.quit();      }      //啟動appium Driver      public void setUpDriver() throws MalformedURLException{        //  final File appDir = new File("D:\\TMApp");        //  final File app = new File(appDir, "10002119.apk");            final DesiredCapabilities capabilities = new DesiredCapabilities();            capabilities.setCapability(CapabilityType.BROWSER_NAME, "");            capabilities.setCapability("deviceName", "Android");            capabilities.setCapability("platformVersion", "4.3");            capabilities.setCapability("platformName", "Android");        //  capabilities.setCapability("app", app.getAbsolutePath());            capabilities.setCapability("appPackage", "com.tmall.wireless");            capabilities.setCapability("appActivity",//".module.main.TMMainTabActivity");                    ".module.launchalert.TMLaunchAlertActivity");            capabilities.setCapability("appWaitActivity", ".module.main.TMMainTabActivity");            capabilities.setCapability("newCommandTimeout",120);            driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),                capabilities);      }}public class DetailTest extends BaseTest{    @Test    public void MyDetailTest() {        Search s = new Search();        s.doAction(driver);        //assert(xxxxx);}

}

4 參數設定

DesiredCapabilities 負責啟動服務端時的參數設定。實際使用時根據自己的需要,可自行修改一些參數。

比如,應用程式在尋找某個頁面的元素時,定位可能會時間超長。預設的命令間隔時間是60s,如果在60s內沒有找到,就會自動結束。可以使用newCommandTimeout設定為更大的數值。

    capabilities.setCapability("newCommandTimeout",240);

比如,最開始使用appium時,設定了上面的安裝apk的路徑,結果安裝後偵錯工具發現介面無返回資料。後來定位問題是因為安裝時進行了重簽名。程式的保護機制讓資料無返回了。可以使用noSign設定來避免重簽名。

    capabilities.setCapability("noSign","true");

當然,後來發現不在程式裡寫檔案路徑,而是提前安裝好測試包,這樣就避免了每次都要重新安裝。

完整的Server參數

http://appium.io/slate/en/master/?ruby#appium-server-capabilities

**Server capabilities**Capability           Appium 、SelendroidplatformName         平台的名稱:iOS, Android, or FirefoxOSplatformVersion      行動裝置的系統版本號碼,7.1, 4.4deviceName           IOS:instruments -s devices,Android:隨便寫app                  安裝檔案路徑:/abs/path/to/my.apk or http://myapp.com/app.ipabrowserName          測試的web瀏覽器,如果是測app則忽略newCommandTimeout    等待新命令的最長時間,逾時後退出。預設是60sautoLaunch           是否自動安裝和啟動,預設truelanguage             模擬器的語言設定locale               模擬器的地區設定udid                 裝置號orientation          模擬器的橫豎屏設定autoWebview          Move directly into Webview contextnoReset              在當前session前不重設app狀態fullReset            ios刪除檔案夾,Android刪除app資料。**android only**appActivity                 要啟動的ActivityappPackage                  要啟動的包appWaitActivity             等待的ActivityappWaitPackage              等待的包 deviceReadyTimeout          等待裝置就緒的時間androidCoverage             enablePerformanceLogging    (Chrome and webview only)default=falseandroidDeviceReadyTimeoutandroidDeviceSocketavdavdLaunchTimeoutavdReadyTimeoutavdArgsuseKeystorekeystorePathkeystorePasswordkeyAliaskeyPasswordchromedriverExecutableautoWebviewTimeoutintentActionintentCategoryintentFlagsoptionalIntentArgumentsunicodeKeyboardresetKeyboardnoSign              Skip checking and signing,work only with UiAutomator and not with selendroidignoreUnimportantViews**ios  only**calendarFormatbundleIdudidlaunchTimeoutlocationServicesEnabledlocationServicesAuthorizedautoAcceptAlertsnativeInstrumentsLibnativeWebTapsafariAllowPopupssafariIgnoreFraudWarningsafariOpenLinksInBackgroundkeepKeyChainslocalizableStringsDirprocessArgumentsinterKeyDelayshowIOSLog

appium server參數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.