appium windows下安装环境搭建
2015-06-04 15:11
513 查看
安装步骤:
安装 nodejs,进入cmd,输入node -v检查安装是否成功安装JDK和Android SDK
安装appium,进入cmd,输入npm install -g appium或者npm –registry http://registry.cnpmjs.org install -g appium。安装成功后,进入cmd,输入appium-doctor检查环境是否都配置好
运行appium,进入cmd,输入appium
创建Java工程,导入相关依赖架包
java-client
selenium-java
一个简单的demo
public class Net { public static AndroidDriver dr; @BeforeMethod public void setUp() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("platformVersion", "4.4"); capabilities.setCapability("appPackage", "io.appium.unlock"); capabilities.setCapability("appActivity", ".Unlock"); // 中文输入 capabilities.setCapability("unicodeKeyboard", "True"); capabilities.setCapability("resetKeyboard", "True"); dr = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); } @AfterMethod public void tearDown() throws Exception { dr.quit(); } @Test public void TT() { try { // 启动app //AppsInfo.Net[0] 为appPackage //AppsInfo.Net[1] 为appActivity dr.startActivity(AppsInfo.Net[0], AppsInfo.Net[1]); TimeUnit.SECONDS.sleep(1);//延迟1s // 通过content-desc属性进行定位 WebElement moreBtn = dr .findElementByAndroidUIAutomator("new UiSelector().description(\"More\")"); Assert.assertNotNull(moreBtn); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }
appium的一些方法汇总
findElementByAndroidUIAutomator()WebElement el = driver.findElementByAndroidUIAutomator(“new UiSelector().description(\”More\”)”);
Assert.assertNotNull(el);
findElementById()
WebElement el = driver.findElementById(“com.xiaomi.notes:id/notelist_MenuBar_Add”);
findElementsById()
List els = driver.findElementsById(“com.xiaomi.notes:id/noteitem_LayoutManager_Main”);
findElementByName()
WebElement el = driver.findElementByName(“小米便签”);
findElementByXPath()
WebElement el = driver.findElementByXPath(“//android.widget.ImageButton[@index=’1’]”);
sendKeyEvent()
driver.sendKeyEvent(AndroidKeyCode.BACK);
driver.sendKeyEvent(AndroidKeyCode.MENU);
driver.sendKeyEvent(AndroidKeyCode.HOME);
lockScreen()
driver.lockScreen(3);//锁屏3s
startActivity()
driver.startActivity(“com.xiaomi.notes”, “.NoteListActivity”);
swipe()
driver.swipe(720, 1260, 720, 660, 500);
installApp()
driver.installApp(“D:\apks2\com.xiaomi.notes.apk”)
removeApp()
driver.removeApp(“com.xiaomi.notes”)
closeApp()
driver.closeApp();
hideKeyboard()
driver.hideKeyboard();
currentActivity()
driver.currentActivity();
sendKeys()
WebEelement el=driver.findElementById(“com.xiaomi.notes:id/noteedit_note_bg”);
el.sendKeys(“xiaomi notes”);
一些其他方法,参考API文档
相关文章推荐
- could not read data from '/Users/iamme/Documents/XCode/myapp/myapp/myapp-Info.plist': The file “myap
- 【每日一记】unity3d 图片置灰shader
- 为什么object.onkeyup=function(){}函数无法执行?
- Android Context 上下文 你必须知道的一切
- android使用隐藏api的方法(使用被@hide的api)
- 微信直接打开App
- Google I/O 2015 为 Android 开发者带来了哪些福利?
- Android 强制隐藏软键盘
- Android登陆界面实现-支持输入框清楚和震动效果功能
- android 回车键事件
- Android BLE开发之Android手机与BLE终端通信
- Execution failed for task ':app:compileDebugAidl': aidl is missing
- HDU 4931 Happy Three Friends(水)
- NDK下 将Platinum SDK 编译成so库 (android - upnp)
- 一分钟掌握Android spinner下拉框
- iOS zbar扫描二维码
- IOS开发之开发工具Xcode下载
- Delphi 中的 procedure of object
- android内存泄露优化总结
- Android平台上使用气压传感器计算海拔高度