NotePadTest.java:
/* * This is an example test project created in Eclipse to test NotePad which is a sample * project located in AndroidSDK/samples/android-11/NotePad * * * You can run these test cases either on the emulator or on device. Right click * the test project and select Run As --> Run As Android JUnit Test * * @author Renas Reda, renas.reda@gmail.com * */ package com.jayway.test; import com.example.android.notepad.NotesList; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; public class NotePadTest extends ActivityInstrumentationTestCase2<NotesList>{ private Solo solo; public NotePadTest() { super(NotesList.class); } //初始化solo,绑定对应的Activity @Override public void setUp() throws Exception { //setUp() is run before a test case is started. //This is where the solo object is created. solo = new Solo(getInstrumentation(), getActivity()); } //1.可以根据不同目的编写多个测试方法。注意方法名称必须以test开头,程序运行会自动调用以test开头的方法。 //2.每次调用测试方法都会运行一次测试工程。 public void testAddNote() throws Exception { solo.clickOnMenuItem("Add note"); //Assert that NoteEditor activity is opened //确信当前的 NoteEditor activity 是活动状态 solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor"); //In text field 0, add Note 1 //在编辑区第一行输入: Note 1 solo.enterText(0, "Note 1"); //点击键盘的返回按钮 solo.goBack(); //Clicks on menu item //点击菜单按钮 solo.clickOnMenuItem("Add note"); //In text field 0, add Note 2 solo.enterText(0, "Note 2"); //Go back to first activity named "NotesList" //返回到活动 "NotesList"的activity页面 solo.goBackToActivity("NotesList"); //Takes a screenshot and saves it in "/sdcard/Robotium-Screenshots/". solo.takeScreenshot(); boolean expected = true; boolean actual = solo.searchText("Note 1") && solo.searchText("Note 2"); //Assert that Note 1 & Note 2 are found assertEquals("Note 1 and/or Note 2 are not found", expected, actual); } public void testEditNote() throws Exception { // Click on the second list line // 点击列表第二行 solo.clickInList(2); // Change orientation of activity //LANDSCAPE:横向显示 Portrait:竖向显示 solo.setActivityOrientation(Solo.LANDSCAPE); // Change title solo.clickOnMenuItem("Edit title"); //In first text field (0), add test //在第一个编辑区添加文字: test solo.enterText(0, " test"); solo.goBack(); boolean expected = true; // (Regexp) case insensitive boolean actual = solo.waitForText("(?i).*?note 1 test"); //Assert that Note 1 test is found assertEquals("Note 1 test is not found", expected, actual); } public void testRemoveNote() throws Exception { //(Regexp) case insensitive/text that contains "test" //(正则表达式)不区分大小写/点击包含"test"的文本 solo.clickOnText("(?i).*?test.*"); //Delete Note 1 test solo.clickOnMenuItem("Delete"); //Note 1 test & Note 2 should not be found boolean expected = false; boolean actual = solo.searchText("Note 1 test"); //Assert that Note 1 test is not found assertEquals("Note 1 Test is found", expected, actual); solo.clickLongOnText("Note 2"); //Clicks on Delete in the context menu solo.clickOnText("Delete"); actual = solo.searchText("Note 2"); //Assert that Note 2 is not found assertEquals("Note 2 is found", expected, actual); } //在测试方法后重写父类的tearDown()方法:该方法用来清理资源垃圾,关闭activity。 @Override public void tearDown() throws Exception { //tearDown() is run after a test case has finished. //finishOpenedActivities() will finish all the activities that have been opened during the test execution. solo.finishOpenedActivities(); } }
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jayway.test" android:versionCode="1" android:versionName="1.0" > <application android:icon="@drawable/icon" android:label="@string/app_name" > <uses-library android:name="android.test.runner" /> </application> <uses-sdk android:minSdkVersion="10" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.android.notepad" /> <!-- <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.cz.hello" /> --> </manifest>
相关推荐
这是我收集的android自动化测试— 有关于robotium的一些资料 包括自己整理的一些文档 共4篇。。 jar也包括在内。 最重要的是还有一个Demo程序包,其中包括两个程序,一个测试程序一个被测程序。。 5分绝对值得的,...
此教程从初级到进一步的提升,都有很大的帮助,我也是看着这篇教程成长的,深有体会,所以跟大家分享下,如果能帮忙到大家的,给个好评吧!
Python自动化测试实战篇(4)selenium+unttest+ddt实现自动化用例测试,模拟用户登陆点击交互测试,Assert捕获断言多种断言
NI 自动化测试基础测量知识rar,本资料包包含《频谱测量》,《谐波失真 》,《分辨率带宽》,《常见噪声详述》,《最大化自动化测试系统的精度 》5篇基础测量技术文档。
由于资源较大,分割上传,part1 第1篇(第1章~第3章)自动化测试基础篇 第2篇(第4章~第6章)QTP使用基础篇 第3篇(第7章~第15章)QTP脚本开发篇 第4篇(第16章~第22章)QTP高级技术篇
非扫描版 带书签许奔 著ISBN:978-7-111-52120-4目录本书赞誉前言第一部分 基础篇第1章 Android自动化测试基础1.1 Android自动化分析1.2 什么样的兵器最称手1.3 如何耍好你手上的兵器1.4 你了解你的兵器吗1.5...
在第2部分小乘篇中,主要有Web自动化测试、C/S自动化测试、数据库自动化测试、接口自动化测试、RF内置测试库、持续集成自动化测试、移动自动化测试总共七章的内容;在第3部分大乘篇中,主要有自定义你的RF一章的内容...
本资料包包含《频谱测量》,《谐波失真 》,《分辨率带宽》,《常见噪声详述》,《最大化自动化测试系统的精度 》5篇基础测量技术文档。
iphone自动化的内部分享,条目化的东西,选取了所有找到的iphone自动化的工具,并且详细的介绍了UI Automation和Fone Monkey着两个现在最流行的工具。
本篇文章将介绍Python接口自动化测试的基本原理、常用工具和实践经验,帮助读者理解和应用Python进行接口自动化测试。 ## 一、接口自动化测试的基本原理 接口自动化测试是通过模拟用户的请求,向系统的接口发送...
当前还在迷茫,月薪还在1.5w左右徘徊的猿子们,现在我这里有一篇自动化测试笔记,虽然写的不是很全但是大家可以做一个参考 里面包括了: 测试工具:APP测试必备技能Fiddler 3大实战应用 测试开发:阿里技术分享-...
Python自动化测试实战篇(3)优化unittest批量自动化代码,ddt驱动+yaml实现用例调用,输出HTMLTestRunner测试报告
第28篇-QTP自动化测试用例设计第28篇-QTP自动化测试用例设计
第30篇-QTP自动化测试技术总结第30篇-QTP自动化测试技术总结
selenium自动化基础篇.pdf
1.1 自动化测试从零开始 1.2 帮助文档(HELP)-QTP的说明书 1.3 录制与回放—QTP的开关 1.4 认清并请远离QTP的脚本录制模式 1.5 QTP精华—对象库(上)之基础攻略篇 1.6 对象库(下)之进阶编程篇 1.7 描述性...
企业微信配置发消息- 自动化测试报告篇
本资源详细介绍了如何构建基于java的安卓自动化测试,包含: 初级篇-环境搭建,如何使用uiautomatorviewer识别元素等 中级篇-如何简单的写安卓自动化测试代码 高级篇-如何封装简易框架实现高效的测试开发
自己总结了APP测试常用到的API方法--java篇,希望能帮到大家
本文主要介绍了如何使用Robotframework结合Appium实现对Android应用的自动化测试,从概念介绍,如何安装和部署到示例脚本一应具有,相信读者通过本文可基本掌握其用法。