今天完成了对真机上的 APP 输入框的中文输入的操作,也研究了很久,很不易,特贴出来分享给广大才接触 appium 的 tester 希望对你们有帮助,不过我这个帖子是基于 Windows+Java 平台,其他平台恕我无能为力,也没精力去研究了。

一、打包输入法生成 apk 文件:

1,去 utf7ime 的 github 上把整个项目给下载下来,地址:https://github.com/sumio/uiautomator-unicode-input-helper

点击"Download ZIP"按钮进行 打包下载,如图:

2,下载完成 以后解压到本地磁盘的任意位置比如 C:\uiautomator-unicode-input-helper-master

3,打开 Eclipse(安装了 adt,并且配置好 sdk home in eclispe 不然不能打包)

4,点击 File->Import ->Existing Android Code Into Workspace->Next->点击 Browser 选择刚才解压后的文件夹中的 Utf7Ime 文件夹->点击 Done 完成导入操作

5,将改项目中的 project.properties 重新命名成:default.properties

6,选中该项目,点击菜单栏上的 project->clean..剩下的设置如图:

7,Build 完成以后,选中该项目进行打包生成 apk 文件,右键->Android Tools->Export Signed Application Package...具体打包详情可以参考:http://blog.csdn.net/luoyin22/article/details/7862742

8,把刚才打包的 apk 装入真机(我的是安卓 4.2.2)

9,在设置里面将本机的默认输入法设置成:UTF7 IME for UI Testing

二、导入 Utf7ImeHelper.java 和相关类到自己的 appium 工程

1,将 C:\uiautomator-unicode-input-helper-master\helper-library 文件夹下的所有的 java 文件都放入自己的 appium 项目目录 src 下 如图所示:

2,selenium 类库要添加到工程中

三、修改 AndroidContactsTest.java 中输入方法,主要在下面这段代码体现 UTF7IME 输入法的用途

textFieldsList.get(0).sendKeys(Utf7ImeHelper.e("王 阳"));

用 Utf7ImeHelper 去输入汉字。

参考代码:

package com.incito.appiumdemo;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.openqa.selenium.*;

import org.openqa.selenium.interactions.HasTouchScreen;

import org.openqa.selenium.interactions.TouchScreen;

import org.openqa.selenium.remote.CapabilityType;

import org.openqa.selenium.remote.DesiredCapabilities;

import org.openqa.selenium.remote.RemoteTouchScreen;

import org.openqa.selenium.remote.RemoteWebDriver;

import com.incito.inputhelp.Utf7ImeHelper;

import java.io.File;

import java.net.URL;

import java.util.List;

public class AndroidContactsTest {

private WebDriver driver;

@Before

public void setUp() throws Exception {

// set up appium

File classpathRoot = new File(System.getProperty("user.dir"));

File appDir = new File(classpathRoot, "apps");

File app = new File(appDir, "ContactManager.apk");

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability("device","Android");

capabilities.setCapability(CapabilityType.BROWSER_NAME, "");

capabilities.setCapability(CapabilityType.VERSION, "4.2.2");

capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS");

capabilities.setCapability("app", app.getAbsolutePath());

capabilities.setCapability("app-package", "com.example.android.contactmanager");

capabilities.setCapability("app-activity", ".ContactManager");

driver = new SwipeableWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

}

@After

public void tearDown() throws Exception {

driver.quit();

}

@Test

public void addContact(){

WebElement el = driver.findElement(By.name("Add Contact"));

el.click();

List textFieldsList = driver.findElements(By.tagName("textfield"));

//主要在这里体现UTF7IME输入法的用途

textFieldsList.get(0).sendKeys(Utf7ImeHelper.e("王 阳"));

textFieldsList.get(1).sendKeys("18872573204");

textFieldsList.get(2).sendKeys("stephenwang@gmail.com");

driver.findElement(By.name("Save")).click();

}

public class SwipeableWebDriver extends RemoteWebDriver implements HasTouchScreen {

private RemoteTouchScreen touch;

public SwipeableWebDriver(URL remoteAddress, Capabilities desiredCapabilities) {

super(remoteAddress, desiredCapabilities);

touch = new RemoteTouchScreen(getExecuteMethod());

}

public TouchScreen getTouch() {

return touch;

}

}

}

四、运行查看结果:

1,启动 appium 服务

2,连接真机并启用调试模式

3,运行此代码,运行成功后 “王阳” 打在了指定的输入框 如图:

输入法 java_使用 Utf7ime 输入法实现中文输入 Windows+Java 平台(完整步骤版)相关推荐

  1. 谷歌输入法 GBoard for Android 终于支持中文输入了

    谷歌推出的输入法 GBoard for Android 迎来了 v7.0 的更新. 本次更新添加了 20 多种语言的支持,其中包括在 Android 上首次支持的简体中文输入,并支持全键盘和九宫格两种 ...

  2. 输入法linux debin,debian下的中文输入法和中文支持

    从网上下载了debian的最小安装文件选择图形安装(不赘述)进入系统之后发现上网打开的中文网页都是乱码(妈的让人上火,不过是我比较贱哈,安装的时候选择的是英文,嘿嘿--) 一.让debian支持中文 ...

  3. 计算机地址输入法教案,《汉字输入法》教案

    第1篇:<汉字输入法>教案 课题:汉字输入法 教学目的: (1)了解汉字输入法的种类,及常用的中文输入方法. (2)掌握智能abc输入法的特点和功能. (3)初步掌握智能abc输入法的使用 ...

  4. VMware centos虚拟机如何设置中文输入

    VMware centos虚拟机如何设置中文输入 环境:宿主机VMware 16 Pro, 虚拟机Centos 7.9 找到系统设置:左上角应用程序→系统工具→设置 Region & Lang ...

  5. Android中文输入的新选择——搜狗拼音输入法

    如果不是我的Google拼音输入法出了点问题,我大概不会去尝试搜狗的Android平台拼音输入法.虽然全键盘在竖屏的情况下非常难用,不过横屏的时候还是可以接受的,何况G1有物理键盘. 现在的问题是,我 ...

  6. ios免越狱脚本实现方案,苹果手机实现自动抖音发私信且是中文输入,FN键切换输入法,最新的苹果11以上圆角的屏幕一并支持。

    苹果手机实现自动抖音发私信且是中文输入,FN键切换输入法,最新的苹果11以上圆角的屏幕一并支持. 今天用双头硬件,一小时不到,用易语言写了一个DEMO脚本.苹果手机实现自动化操作抖音,可以自动点赞.留 ...

  7. 计算机中文输入法教案,中文输入教学设计.doc

    文档介绍: --<中文输入>教学设计教材分析:"中文输入"是贵州教育出版社的中学七年级信息技术教材中第第一单元的教学内容.本课主要是学****在Windows输入汉字. ...

  8. Android输入法扩展之外接键盘中文输入

    大家想不想要这样一台Android  Surface平板,看着就过瘾吧. 我们知道,android眼下的输入都是通过软键盘实现的,用外接键盘的少.这个在手机上是能够理解的.当手机接上外接键盘后.总体会 ...

  9. 享受中文输入,快乐信息分享 --拼音输入法所谓的经验谈

    享受中文输入,快乐信息分享 --拼音输入法所谓的经验谈 本文摘要:拼音输入法如果合理利用自己的语言常识,尽量回避单字,多打词语.短语或短句,把匹配工作交给输入法的词库和智能组词来做.实在避不开的单字通 ...

最新文章

  1. 个人开发者做一款Android App需要知道的事情
  2. 解决sublime text3安装Package Control问题
  3. 《研磨设计模式》chap2 简单工厂simplefactory
  4. Servlet中的HttpServlet
  5. 开发函数计算的正确姿势——使用交互模式安装依赖
  6. Ubuntu20.04 远程桌面共享vnc
  7. 用python搭建个人博客过程_技术分享|利用Python Django一步步搭建个人博客(四)...
  8. Visual Studio for Mac Preview离线下载安装
  9. linux 编写完程序吗,linux下编写C++程序
  10. 1.1.0-简介-P9-分布式ID生成器解决方案
  11. mysql ---- DDL(了解)
  12. linux下Cacti网络监控之监控华为quidway s2000交换机
  13. 【手把手教你】使用QuantLib进行债券估值和期权定价分析
  14. 身体就是控制器,微软Kinect是怎样做到的?
  15. oracle赋权语句详解,Oracle GRANT 赋权详解
  16. matlab rgb三维直方图,MATLAB小技巧之十:利用MATLAB绘制三维彩色柱状图[转载]
  17. html 怎么获取焦点的位置,jQuery怎么获取焦点?
  18. oracle循环数据字典,Oracle DUL工作原理和技术实现
  19. 联想拯救者y空间_锐龙H真给劲儿 联想拯救者R7000 2020首测
  20. FX5u控制4个伺服,一个完整的项目 程序用 标签分层,说明了定位控制中的公共参数设定、回原点、

热门文章

  1. 贴吧备份到本地浏览html,获取贴吧对应页html及写入文件
  2. 为什么我的计算机无法评分,高手看看我的电脑鲁大师怎么评分这么低啊
  3. 计算机一级第103套题,全国计算机等级考试一级试题
  4. 通过channel进行goroutine间的通信
  5. win32 sdk C语言菜单,win32 sdk 设定/获取checkbox控件状态
  6. qtableview与sqlite使用显示科学计算_使用MATLAB Profiler提升程序运行的效率
  7. ios沙箱模式开启_【iOS】苹果IAP(内购)中沙盒账号使用注意事项
  8. 人本原理内涵_叶澜教育学原理课后答案资料配套题库考研真题精选课后习题章节题库...
  9. mui中子页面标志html,MUI 图标筛选切换(父页面传值子页面)代码
  10. CentOS7安装后没网络的解决方法