Robotium_易测云生成的自动化测试脚本(3)
2013-06-02 19:58
465 查看
package com.aaa.bbb_test;
import android.os.SystemClock;
import android.test.ActivityInstrumentationTestCase2;
import com.jayway.android.robotium.solo.*;
import android.app.Activity;
import android.app.Instrumentation;
import android.view.inputmethod.InputMethodManager;
import android.view.KeyEvent;
import android.widget.*;
@SuppressWarnings( "rawtypes" )
public class Test_Case_ccc_Guang extends ActivityInstrumentationTestCase2 {
private static final String LAUNCHER_ACTIVITY_CLASSNAME = "com.aaa.bbb.SplashActivity";
private static Class< ? > launchActivityClass;
static {
try {
launchActivityClass = Class.forName(LAUNCHER_ACTIVITY_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
private Solo solo;
protected Integer screenWidth = null;
protected Integer screenHeight = null;
private Instrumentation inst;
public Test_Case_ccc_Guang() {
super("com.aaa.bbb", launchActivityClass);
}
@Override
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
inst = this.getInstrumentation();
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
public void testRecorded() {
solo.sleep(2000);
solo.sleep(2000);
//等待 Activity "SplashActivity" 启动
assertTrue("Activity \"SplashActivity\" is not started.", solo.waitForActivity("SplashActivity", 30000));
solo.sleep(2000);
//等待 Activity "MainTabActivity" 启动
assertTrue("Activity \"MainTabActivity\" is not started.", solo.waitForActivity("MainTabActivity", 30000));
solo.sleep(2000);
//生成屏幕截图:"main.jpg"
solo.takeScreenshot("main");
solo.sleep(2000);
//验证文字 "今日精选-全部" 是否存在
assertTrue("Assert failed: 今日精选-全部", solo.searchText("今日精选-全部"));
solo.sleep(2000);
//按下 TextView "今日精选-全部".
solo.clickOnText("值得逛");
solo.sleep(2000);
//验证文字 "值得逛一逛" 是否存在
assertTrue("Assert failed:值得逛一逛", solo.searchText("值得逛"));
solo.sleep(2000);
String category[]={"衣服","周边商场","美妆画眉","美食","鞋子","家居生活","配饰","包包","箱子"};
for(int i=0;i<category.length;i++){
//打开商品分类
solo.clickOnText(category[i]);
solo.sleep(2000);
//验证文字 "值得逛-商品分类" 是否存在
System.out.println(category[i]);
assertTrue("Assert failed: 值得逛-"+category[i], solo.searchText("值得逛-"+category[i]));
solo.sleep(2000);
//按下"返回" 键
solo.sendKey(KeyEvent.KEYCODE_BACK);
solo.sleep(2000);
}
/**
//打开商品分类
solo.clickOnText("数码周边");
solo.sleep(2000);
//按下 "返回" 键
solo.sendKey(KeyEvent.KEYCODE_BACK);
solo.sleep(2000);
*/
//退出程序
for(int j=0;j<2;j++){
//按下 "返回" 键
solo.sendKey(KeyEvent.KEYCODE_BACK);
solo.sleep(2000);
}
}
protected float toX( float x ) {
return x * getScreenWidth();
}
protected float toY( float y ) {
return y * getScreenHeight();
}
protected int getScreenWidth() {
if ( screenWidth == null ) {
screenWidth = getActivity().getWindowManager().getDefaultDisplay()
.getWidth();
}
return screenWidth;
}
protected int getScreenHeight() {
if ( screenHeight == null ) {
screenHeight = getActivity().getWindowManager().getDefaultDisplay()
.getHeight();
}
return screenHeight;
}
public void enterText(int index, String text) {
solo.enterText(index, text);
hideKeyboard(solo.getEditText(index));
}
public void enterText(EditText editText, String text) {
solo.enterText(editText, text);
hideKeyboard(editText);
}
public void hideKeyboard(){
solo.getCurrentActivity().runOnUiThread(new Runnable() {
public void run()
{
solo.getCurrentActivity().getWindow().setSoftInputMode(3);
}
});
}
public void hideKeyboard(final EditText editText) {
solo.getCurrentActivity().runOnUiThread(new Runnable() {
public void run()
{
InputMethodManager imm = (InputMethodManager)inst.getTargetContext().getSystemService("input_method");
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
}
});
}
}
import android.os.SystemClock;
import android.test.ActivityInstrumentationTestCase2;
import com.jayway.android.robotium.solo.*;
import android.app.Activity;
import android.app.Instrumentation;
import android.view.inputmethod.InputMethodManager;
import android.view.KeyEvent;
import android.widget.*;
@SuppressWarnings( "rawtypes" )
public class Test_Case_ccc_Guang extends ActivityInstrumentationTestCase2 {
private static final String LAUNCHER_ACTIVITY_CLASSNAME = "com.aaa.bbb.SplashActivity";
private static Class< ? > launchActivityClass;
static {
try {
launchActivityClass = Class.forName(LAUNCHER_ACTIVITY_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
private Solo solo;
protected Integer screenWidth = null;
protected Integer screenHeight = null;
private Instrumentation inst;
public Test_Case_ccc_Guang() {
super("com.aaa.bbb", launchActivityClass);
}
@Override
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
inst = this.getInstrumentation();
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
public void testRecorded() {
solo.sleep(2000);
solo.sleep(2000);
//等待 Activity "SplashActivity" 启动
assertTrue("Activity \"SplashActivity\" is not started.", solo.waitForActivity("SplashActivity", 30000));
solo.sleep(2000);
//等待 Activity "MainTabActivity" 启动
assertTrue("Activity \"MainTabActivity\" is not started.", solo.waitForActivity("MainTabActivity", 30000));
solo.sleep(2000);
//生成屏幕截图:"main.jpg"
solo.takeScreenshot("main");
solo.sleep(2000);
//验证文字 "今日精选-全部" 是否存在
assertTrue("Assert failed: 今日精选-全部", solo.searchText("今日精选-全部"));
solo.sleep(2000);
//按下 TextView "今日精选-全部".
solo.clickOnText("值得逛");
solo.sleep(2000);
//验证文字 "值得逛一逛" 是否存在
assertTrue("Assert failed:值得逛一逛", solo.searchText("值得逛"));
solo.sleep(2000);
String category[]={"衣服","周边商场","美妆画眉","美食","鞋子","家居生活","配饰","包包","箱子"};
for(int i=0;i<category.length;i++){
//打开商品分类
solo.clickOnText(category[i]);
solo.sleep(2000);
//验证文字 "值得逛-商品分类" 是否存在
System.out.println(category[i]);
assertTrue("Assert failed: 值得逛-"+category[i], solo.searchText("值得逛-"+category[i]));
solo.sleep(2000);
//按下"返回" 键
solo.sendKey(KeyEvent.KEYCODE_BACK);
solo.sleep(2000);
}
/**
//打开商品分类
solo.clickOnText("数码周边");
solo.sleep(2000);
//按下 "返回" 键
solo.sendKey(KeyEvent.KEYCODE_BACK);
solo.sleep(2000);
*/
//退出程序
for(int j=0;j<2;j++){
//按下 "返回" 键
solo.sendKey(KeyEvent.KEYCODE_BACK);
solo.sleep(2000);
}
}
protected float toX( float x ) {
return x * getScreenWidth();
}
protected float toY( float y ) {
return y * getScreenHeight();
}
protected int getScreenWidth() {
if ( screenWidth == null ) {
screenWidth = getActivity().getWindowManager().getDefaultDisplay()
.getWidth();
}
return screenWidth;
}
protected int getScreenHeight() {
if ( screenHeight == null ) {
screenHeight = getActivity().getWindowManager().getDefaultDisplay()
.getHeight();
}
return screenHeight;
}
public void enterText(int index, String text) {
solo.enterText(index, text);
hideKeyboard(solo.getEditText(index));
}
public void enterText(EditText editText, String text) {
solo.enterText(editText, text);
hideKeyboard(editText);
}
public void hideKeyboard(){
solo.getCurrentActivity().runOnUiThread(new Runnable() {
public void run()
{
solo.getCurrentActivity().getWindow().setSoftInputMode(3);
}
});
}
public void hideKeyboard(final EditText editText) {
solo.getCurrentActivity().runOnUiThread(new Runnable() {
public void run()
{
InputMethodManager imm = (InputMethodManager)inst.getTargetContext().getSystemService("input_method");
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
}
});
}
}
相关文章推荐
- Robotium_易测云生成的自动化测试脚本(1)
- Robotium_易测云生成的自动化测试脚本(4)
- Robotium_易测云生成的自动化测试脚本(2)
- Robotium_易测云生成的自动化测试脚本(5)
- Android Studio中基于Robotium的使用junit report生成自动化测试报告
- 自动化控制和测试的软件工具 Expect; 自动生成脚本的工具autoexpect
- 使用VBScript开发自动化测试脚本3
- 自动化测试脚本开发的几种策略
- Robotium自动化脚本与Hudson集成
- Jenkins+Ant+Android+Robitium 实例详解(打包app,执行Robotium测试,生成测试结果)
- IMUSTOJ运维——批量自动化生成题目测试数据
- robotium生成测试报告、html文件及发送邮件
- 自动化测试脚本开发的几种策略
- Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)
- 使用VBScript开发自动化测试脚本2
- 用Python开发自动化测试脚本
- 一种自动化测试用例集生成工具——EvoSuite
- 开发自动化测试脚本的技巧和心得
- 手工测试用例就是自动化测试脚本——使用ruby 1.9新特性进行自动化脚本的编写