【uiautomator】输入中文(输入法安装+测试代码)

备注

1、Utf7Ime官网下载需要增加修改部分文件,因此附上地址:http://download.csdn.net/detail/victoria_vicky/8799851,可直接导入Eclipse使用

2、src下载地址:http://download.csdn.net/detail/victoria_vicky/8799973

3、将来可能用到的

一、安装输入法

1、下载Utf7Ime.rar,解压缩到本地文件夹

2、导入到Eclipse:File->Import->General->Existing Projects into Workspace->Next->Select Root directory->Browse选择之前Utf7Ime解压地址->Finish

3、Eclipse:右击Utf7Ime工程->Run As->Android Application,安装到本地手机

4、手机设置(以小米2S为例):设置->语言和输入法->键盘和输入法->将默认修改为UTF7 IME for UI Testing

二、测试工程中加入对应代码

1、将src里面的所有文件拷贝到测试项目src下,并将其导入到具体测试项目中,如下图所示

2、以下为本人使用写的小例子

package com.beixun.test;
import java.io.IOException;
import jp.jun_nama.test.utf7ime.helper.Utf7ImeHelper;
import android.os.RemoteException;
import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class test extends UiAutomatorTestCase {

    //input userName and Password,then login the APP
    public void test() throws InterruptedException,  RemoteException, UiObjectNotFoundException{
        FindAndOpenApp();
        loginAPP(Utf7ImeHelper.e("你好"),Utf7ImeHelper.e("111111"));
    }
    //open beixun APP
    private void FindAndOpenApp() throws UiObjectNotFoundException, InterruptedException, RemoteException{
        UiDevice device=getUiDevice();

        if(!device.isScreenOn()){
            //wake up screen
            device.wakeUp();
            device.isScreenOn();
            assertTrue("screen can not wake up",device.isScreenOn());
            //unlock screen
            getUiDevice().swipe(532, 1870, 555, 402,5);
        }

        //press on Home button
        getUiDevice().pressHome();

        //open beixun app
        try {
            Runtime.getRuntime().exec("am start -n com.luyankeji.beixun/.LoginActivity");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    //login beixun APP
    private void loginAPP(String UserName,String Password) throws UiObjectNotFoundException, InterruptedException{
        //input userName
        UiObject etUserName=new UiObject(new UiSelector().className("android.widget.EditText").text("请输入账号或手机号"));
        assertEquals("请输入账号或手机号",etUserName.getText());
        etUserName.click();
        etUserName.clearTextField();
        etUserName.setText(UserName);
        Thread.sleep(1000);

        //input password
        UiObject ll4=new UiObject(new UiSelector().className("android.widget.LinearLayout").index(3));
        UiObject etPassword=ll4.getChild(new UiSelector().className("android.widget.EditText"));
        assertTrue("etPassword can not been found",etPassword.exists());
        etPassword.click();
        etPassword.clearTextField();
        etPassword.setText(Password);
        Thread.sleep(1000);

        //click on login button
        UiObject btLoginButton=new UiObject(new UiSelector().className("android.widget.Button").text("登陆"));
        assertEquals("登陆", btLoginButton.getText());
        btLoginButton.clickAndWaitForNewWindow();
        Thread.sleep(2000);
        System.out.println("Login beixunAPP success");
    }
}

3、补充下原理知识

1、在Uiautomator中,**.setText("**"),通常用来填充文本,但是setText("")只能接受ASCII码;

2、utf7ime可以将输入的Unicode编码的字符串转换成ASCII码,setText接受ASCII码再通过utf7ime这个输入法转换成Unicode码输出;

3、Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案

时间: 2024-08-06 04:05:01

【uiautomator】输入中文(输入法安装+测试代码)的相关文章

Linux mint 17中文输入法安装,改动linux mint与windows7双系统启动顺序

安装好linux mint17后,进入mint系统,首先须要一个比較合适的中文输入法. 一.首先迎来的就是安装中文输入法了,之前听说搜狗为ubuntu kinly定制了输入法,所以就想安装搜狗输入法,可是搜索了多个教程并不起作用,安装时缺少必要的依赖,作为菜鸟并没有去研究一番,没有去较劲,终于发现了没有必要安装那个,如今的fcitx-sunpinyin,也很好用,应该是为麒麟输入法做的,上面还有小麒麟的标志.安装方法例如以下: sudo add-apt-repository ppa:fcitx-

CentOS Linux 中文输入法安装及设置

安装: 1.需要root权限,所以要用root登录 ,或su root 2.yum install "@Chinese Support" 3.exit 4.回到桌面,system->preferences->input method 5.如果没有,先注销一下. 6.按照提示添加输入法. 7.最后 再次注销,登录即可. 设置: 在linux CentOS中安装完中文输入法之后,还不能使用,必须进行相应的设置,就如同在windows中设置中文输入法一样,必须把刚刚安装的输入法添

【2015-09-07】ubuntu中文输入法安装二三事

本来很愉快地刷着JS程序,很有感慨啊,想写篇博客记一下学习笔记,结果忘记了博客账号,后来通过邮箱找回了之后想要开始写..发现ubuntu的中文输入法不能用啊(其实不是不能用,就是小白没搞清楚状况,双系统冷落了ubuntu很久,靠着度娘的高频拼音识别汉字也是活了很久,搜索无障碍) 接下来介绍一下中文输入法安装的菜鸟教程: 1. 弄清楚你的ubuntu版本 方法:终端输入命令行 sudo lsb_release -a 就会出现已下结果(我的版本是这样): Distributor ID:    Ubu

中文输入法安装

平台:Ubuntu12.10 在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法.这里我们主要说下Ubuntu英文系统中,中文输入法的安装. 第一步,安装语言包.我们选择System Settings-->Language Support-->Install/Remove Languages,将弹出窗口,我们选择简体中文.输入密码后,系统会安装简体中文语言包. 第二步,安装IBus框架,在终端输入以下命令: sudo apt-get install ibus

Linux - Ubuntu中文输入法安装(12.04)

Ubuntu中文输入法安装(12.04) 本文地址:http://blog.csdn.net/caroline_wendy Ubuntu作为Linux常见的操作系统,是需要熟练使用的. 在安装过程中,输入法有时会出现问题,需要手动安装. 点击System Settings:找到Language Support. Install/Remove Language,找到Chinese(simplified),并点击Apply Changes,即可. 安装完毕之后,Keyboard input meth

Linux - Ubuntu中文输入法安装(Ubuntu 12.04)

Ubuntu中文输入法安装(Ubuntu 12.04) 本文地址:http://blog.csdn.net/caroline_wendy Ubuntu作为Linux常见的操作系统,是须要熟练使用的. 在安装过程中,输入法有时会出现故障,须要手动安装. 点击System Settings:找到Language Support. Install/Remove Language,找到Chinese(simplified).并点击Apply Changes,就可以. 安装完成之后,Keyboard in

centos6.4中文输入法安装和切换(转载)

centos6.4中文输入法安装和切换(转载) 1.用root登录,或者切换到root账户(su root): 2.yum install "@Chinese Support"; 3.exit: 4.System→preferences→input method:(如果没有,注销用户重新登录系统重试) 5.在input method中,使用add选项选择合适的中文输入法: 6.注销账户,重新登录. over 中英文输入法切换快捷键为Ctrl+Space

UIAutomator输入中文

之前一直是英文的测试环境,包括手机也是英文的,app也是英文的,涉及不到中文输入法的东西.但现在在写中文的app,所以需要输入中文.看到网上的解决办法如下: 下载https://github.com/sumio/uiautomator-unicode-input-helper源码 Install Utf7Ime and change the default IME Import Utf7Ime/ directory into your Eclipse workspace. You can imp

使用UiAutomator输入中文

概述 github上开源项目uiautomator-unicode-input-helper,支持输入任何unicode编码的字符 正常情况下,UiObject.setText( String) 只能接受ASCII码 原理:使用Utf7IME后的过程,得到汉字的Unicode编码 -> decode成ASCII编码 -> setText接收ASCII编码 -> 通过Utf7IME这个输入法encode成Unicode编码 前置条件:手机安装使用Utf7IME输入法并将之设为默认 步骤 下