UIAutomator创建一个Note的实例

本文提供了一个使用UIAutomator进行Note应用测试的示例,包括启动应用、添加笔记、保存及删除等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

紧接之前的创建一个Note的Appium和Robotium的实例,这里给出实现同样功能的UIAutomator的实例如下:

  1. package majcit.com.UIAutomatorDemo;  
  2.   
  3. import com.android.uiautomator.core.UiDevice;  
  4. import com.android.uiautomator.core.UiObject;  
  5. import com.android.uiautomator.core.UiObjectNotFoundException;  
  6. import com.android.uiautomator.core.UiScrollable;  
  7. import com.android.uiautomator.core.UiSelector;  
  8. import com.android.uiautomator.testrunner.UiAutomatorTestCase;  
  9.   
  10. public class NotePadTest extends UiAutomatorTestCase {  
  11.       
  12.      public void testDemo() throws UiObjectNotFoundException {    
  13.             UiDevice device = getUiDevice();  
  14.             device.pressHome();    
  15.             // Start Notepad  
  16.             UiObject appNotes = new UiObject(new UiSelector().text("Notes"));   
  17.             appNotes.click();    
  18.             //Sleep 3 seconds till the app get ready  
  19.             try {    
  20.                 Thread.sleep(3000);    
  21.             } catch (InterruptedException e1) {    
  22.                 // TODO Auto-generated catch block    
  23.                 e1.printStackTrace();    
  24.             }    
  25.               
  26.             //Evoke the system menu option  
  27.             device.pressMenu();  
  28.             UiObject addNote = new UiObject(new UiSelector().text("Add note"));  
  29.             addNote.click();  
  30.               
  31.             //Add a new note  
  32.             UiObject noteContent = new UiObject(new UiSelector().className("android.widget.EditText"));  
  33.             noteContent.clearTextField();  
  34.             noteContent.setText("Note 1");  
  35.             device.pressMenu();  
  36.             UiObject save = new UiObject(new UiSelector().text("Save"));  
  37.             save.click();  
  38.               
  39.             //Find out the new added note entry  
  40.             UiScrollable noteList = new UiScrollable( new UiSelector().className("android.widget.ListView"));    
  41.             //UiScrollable noteList = new UiScrollable( new UiSelector().scrollable(true));   
  42.             UiObject note = null;  
  43.             if(noteList.exists()) {  
  44.                 note = noteList.getChildByText(new UiSelector().className("android.widget.TextView"), "Note1"true);    
  45.                 //note = noteList.getChildByText(new UiSelector().text("Note1"), "Note1", true);   
  46.             }  
  47.             else {  
  48.                 note = new UiObject(new UiSelector().text("Note1"));  
  49.             }  
  50.             //assertThat(note,notNullValue());  
  51.               
  52.             note.longClick();  
  53.               
  54.             UiObject delete = new UiObject(new UiSelector().text("Delete"));  
  55.             delete.click();  
  56.                 
  57.         }    
  58.   
  59. }  

### 自定义 Note 注释功能的实现 在 IntelliJ IDEA 中,可以通过配置自定义注释标签(如 `NOTE` 或其他特定标记)来扩展默认的 TODO 功能。以下是具体的实现方式: #### 配置 Patterns 来支持自定义注释 为了使 IDEA 能识别并高亮显示自定义注释标签(如 `NOTE`),需要进入 **Patterns** 设置界面,并添加相应的正则表达式匹配规则[^1]。 1. 打开 IDEA 的设置窗口: - Windows/Linux 用户可通过菜单栏中的 `File -> Settings` 进入。 - macOS 用户可使用 `IntelliJ IDEA -> Preferences`。 2. 导航到 `Editor -> Todo` 页面。 3. 点击右上角的加号按钮 (`+`) 创建一个新的条目。 4. 输入名称(例如 `Note Pattern`),并在下方输入框中填写正则表达式以匹配目标注释形式。例如: ```regex NOTE:\s*(.*) ``` 此正则表达式的含义是匹配任何以 `NOTE:` 开头的内容,并捕获其后的描述文字[^4]。 5. 应用更改后保存退出。 #### 方法级注释模板设定 如果希望每次创建新方法时自动附带指定样式的注释,则需调整对应的代码生成模板[^2]。 - 前往路径 `Settings/Preferences | Editor | File and Code Templates` 下找到 Methods 分区; - 修改现有模板或者新增一条包含所需占位符的新版模板字符串;比如下面这个例子会为每个函数都加上一行带有参数列表摘要以及返回值解释的基础框架: ```java /** * ${param} * @return ${type} */ public ${type} methodName(${params}) { } ``` #### 后缀补全加速编码流程 利用内置或第三方插件提供的 Postfix Completion 特性能够进一步简化日常开发工作流[^3]。对于频繁使用的某些固定结构片段来说尤为有用——只需键入关键字再加上点号即可触发联想提示完成整个语句构建动作而无需逐字敲打出来。 综上所述,在 IntelliJ IDEA 上面除了沿袭传统做法之外还可以借助更多现代化手段来自由定制满足个人需求的理想环境! ```python def example_function(arg): """ arg: Input argument description. Returns: str: Output result explanation here... """ pass ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值