appium简明教程(6)——启动appium及android模拟器

一般情况下,我们都从命令行启动appium。

windows下,dos命令窗口输入

appium

如果该命令报错,那么请重装appium

npm install -g appium

如果安装出错,请自行更换npm源。

npm -g --registry http://registry.cnpmjs.org  install appium

 

然后请打开android的模拟器,如果没有请新建一个虚拟设备

 

下面的代码以启动android原生的计算器程序为例

 

ruby篇

require appium_lib

caps   = { caps:       { platformName: Android, appActivity: .Calculator, appPackage: com.android.calculator2 },
           appium_lib: { sauce_username: nil, sauce_access_key: nil } }
driver = Appium::Driver.new(caps)

 

 讨论:可以看出ruby lib里面的Appium::Driver类实际上就是原生的webdriver类的子类,当然了,由于ruby语法灵活,也可以使用monkey patch来实现类似功能。

 

python篇

from appium import webdriver
desired_caps = {} desired_caps[platformName] = Android desired_caps[platformVersion] = 4.2 desired_caps[deviceName] = Android Emulator desired_caps[appPackage] = ‘com.android.calculator2‘ desired_caps[appActivity] = ‘.Calculator‘ driver = webdriver.Remote(http://localhost:4723/wd/hub, desired_caps)

讨论:webdriver.Remote实际上就是原生webdriver的子类,另外Remote()构造函数的第一个参数中需要显示指定appium server监听的端口

 

java篇

新建java项目时候,请注意将selenium-webdriver以及appium client的jar包导入

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");//这句不是必须的
capabilities.setCapability("deviceName","Android Emulator");
capabilities.setCapability("platformVersion", "4.4");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("appPackage", "com.android.calculator2");
capabilities.setCapability("appActivity", ".Calculator");
AppiumDriver driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

讨论:AppiumDrvier是原生webdriver的子类。

 

在这里我们可以看到,新建driver的时候必须要指定一个DesiredCapabilities 对象,该对象究竟是何方神圣,我们下一节会仔细讲解。

 

 

 

 

 

appium简明教程(6)——启动appium及android模拟器,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。