Appium Android Driver 简单修改

简介: 【注】文中提起的 Appium 版本為 v1.6.5对 Appium Driver 进行简单的修改,并更新方式如下:修改 appium-android-driver 中文件,比如去掉对 app 依赖的错误日志$ vim appium-android-driver/lib/driver.

【注】文中提起的 Appium 版本為 v1.6.5

对 Appium Driver 进行简单的修改,并更新方式如下:

  1. 修改 appium-android-driver 中文件,比如去掉对 app 依赖的错误日志
$ vim appium-android-driver/lib/driver.js

具体修改如下:

  diff --git a/lib/driver.js b/lib/driver.js
  index 2e60375..fbe2035 100644
  --- a/lib/driver.js
  +++ b/lib/driver.js
  @@ -444,7 +444,8 @@ class AndroidDriver extends BaseDriver {
  if ((!caps.browserName || !helpers.isChromeBrowser(caps.browserName)) &&
!caps.app && !caps.appPackage) {
let msg = 'The desired capabilities must include either an app, appPackage or browserName';
 -      log.errorAndThrow(msg);
 +      //log.errorAndThrow(msg);
 +      log.warn(msg);
 }
 // warn if the capabilities have both `app` and `browser, although this
 // is common with selenium grid
  1. 编译并安装修改:
 $ npm install
  1. 执行测试即可:
void setupAndroid(String url, String deviceName, String udid, String version, File app, String browserName,
            String packageName, String activity) throws MalformedURLException {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, version);
        if (StringUtils.isEmpty(deviceName)) {
            deviceName = "Android";
        }
        capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);
        // support Chinese
        capabilities.setCapability("unicodeKeyboard", "True");
        capabilities.setCapability("resetKeyboard", "True");
        // support noSign apk
        capabilities.setCapability("noSign", "True");
        if (!StringUtils.isEmpty(udid)) {
            capabilities.setCapability(MobileCapabilityType.UDID, udid);
        }
        if (!StringUtils.isEmpty(packageName) && !StringUtils.isEmpty(activity)) {
            capabilities.setCapability("appPackage", packageName);
            capabilities.setCapability("appActivity", activity);
        } else if (app != null) {
            capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
        } else if (!StringUtils.isEmpty(browserName)) {
            capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, browserName);
        } else {
            capabilities.setCapability("autoLaunch", false);
        }
        mDriver = new AndroidDriver<MobileElement>(new URL(url), capabilities);
}
setupAndroid("http://127.0.0.1:4492/wd/hub", null, null, null, null, nul, null);
目录
相关文章
|
Android开发
Android Studio中修改gradle插件版本和Gradle版本
Android项目中,我们一般要设置gradle插件版本和gradle版本。 项目根目录下的build.gradle文件中,通过classpath可以指定gradle插件的版本。
|
数据采集 Java 开发工具
一文2500字从0到1教你搭建Android自动化python+appium环境
一文2500字从0到1教你搭建Android自动化python+appium环境
一文2500字从0到1教你搭建Android自动化python+appium环境
|
JSON 数据格式
appium driver install uiautomator2 安装失败
appium driver install uiautomator2 安装失败
463 6
|
Java Android开发
Android studio怎样修改 包名和AppId,android 加入AIDL进行底层通讯
Android studio怎样修改 包名和AppId,android 加入AIDL进行底层通讯
Android studio怎样修改 包名和AppId,android 加入AIDL进行底层通讯
|
Android开发
11-appium-滑动元素到视图中-Android
11-appium-滑动元素到视图中-Android
|
Android开发
09-appium-等待activity-Android
09-appium-等待activity-Android
|
开发工具 Android开发
06-appium-uiautomatorviewer使用-Android
06-appium-uiautomatorviewer使用-Android
|
安全 测试技术 Android开发
Win10系统下基于Docker构建Appium容器连接Android模拟器Genymotion完成移动端Python自动化测试
Python自动化,大概也许或者是今年最具热度的话题之一了。七月流火,招聘市场上对于Python自动化的追捧热度仍未消减,那么Python自动化到底能帮我们做些什么呢? 第一,Python自动化可以避免熟练工种的重复工作,对于功能相对完整和成熟的软件,每发布一个新的版本,无论是大版本还是小版本,其中大部分功能和界面都几乎和上一个版本相似或完全相同,但所谓向上兼容,你不能因为新功能的产生而不对老版本功能进行测试工作,而这些老功能又在上一个版本上线时测过,所以这部分功能特别适合于自动化测试,从而可以让测试达到测试每个特征的目的。
Win10系统下基于Docker构建Appium容器连接Android模拟器Genymotion完成移动端Python自动化测试
|
开发工具 Android开发 开发者
Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查
Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示,连接一加8手机不显示USB调试选项问题排查
838 0