1.客戶端(Eclipse)機器A, 服務端(appium、Genymotion)機器B
2.設置Appium,Server Address為192.168.17.123,重新啟動Appium
?
3.在客戶端機器A瀏覽器中輸入:http://192.168.17.123:4723/wd/hub,
說明配置成功。
JAVA代碼:
其中driver= new AndroidDriver<WebElement>(new URL("http://192.168.17.123:4723/wd/hub"), capabilities);
capabilities.setCapability("app", "F:\\ContactManager.apk");F:\\ContactManager.apk為服務端APK的路徑
public class AppiumTest {public AndroidDriver<WebElement> driver;@BeforeClasspublic void startTest() throws MalformedURLException{// File classpathRoot= new File(System.getProperty("user.dir"));// File appDir= new File(classpathRoot, "res/app");// File app= new File(appDir, "ContactManager.apk");DesiredCapabilities capabilities= new DesiredCapabilities();capabilities.setCapability("automationName", "Appium");capabilities.setCapability("platformName","Android");capabilities.setCapability("deviceName","Android Emulator");capabilities.setCapability("platformVersion", "4.4.2");// 根據這個app capabilities,Appium會在啟動測試之前安裝好app到設備 capabilities.setCapability("app", "F:\\ContactManager.apk");//設置安卓app的包名的capability,告訴appium你要運行哪個app。capabilities.setCapability("appPackage", "com.example.android.contactmanager");capabilities.setCapability("appActivity", ".ContactManager");driver= new AndroidDriver<WebElement>(new URL("http://192.168.17.123:4723/wd/hub"), capabilities);}@Testpublic void addContact() {// WebElement el= driver.findElement(By.xpath(".//*[@text='Add Contact']"));WebElement el = driver.findElementByAndroidUIAutomator("new UiSelector().text(\"Add Contact\")");el.click();List<WebElement> textFieldsList= driver.findElementsByClassName("android.widget.EditText");textFieldsList.get(0).sendKeys("Some Name");textFieldsList.get(2).sendKeys("Some@example.com");driver.swipe(100, 500, 100, 100, 2);driver.findElementByXPath(".//*[@text='Save']").click();}@AfterClasspublic void afterClass() {driver.quit();}}
?