uiautomator 代码记录 :BT接收测试
package rom;
import java.lang.*;
import java.util.Random;
import java.io.File;
import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiScrollable;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
import android.R.id;
import android.R.string;
import android.graphics.Rect;
import android.graphics.SumPathEffect;
import android.os.RemoteException;
import android.util.Log;
import com.android.uiautomator.core.UiWatcher;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiDevice;
public class BTtestReceive extends UiAutomatorTestCase{
public int startapp(String componentName){
StringBuffer app = new StringBuffer();
app.append("am start -n");
app.append(componentName);
int ret = 1;
try{
Process process = Runtime.getRuntime().exec(app.toString());
ret = process.waitFor();
}catch(Exception e){
e.printStackTrace();
System.out.println("startapp Exception!!! ");
}
return ret;
}
public void Screenshot(String name) { //截取当前屏幕图片的方法
File file = new File("/mnt/sdcard/Podcasts/log"+name+".png");
UiDevice.getInstance().takeScreenshot(file);
}
public void longclick (UiObject ojb){ //长按方法
try{
Rect ojbValue = ojb.getBounds();
UiDevice.getInstance().swipe(ojbValue.centerX(), ojbValue.centerY(), ojbValue.centerX()+5, ojbValue.centerY()+5, 250);
}catch(UiObjectNotFoundException e ){
e.printStackTrace();
}
}
public void testbtReceive() throws UiObjectNotFoundException,RemoteException{
String btname = "HG11";
UiDevice.getInstance().sleep();
sleep(1000);
UiDevice.getInstance().wakeUp();
sleep(1000);
try{
UiObject Unlocked = new UiObject(new UiSelector().resourceId("com.android.systemui:id/notification_stack_scroller"));
assertTrue("Unlocked fail!...",Unlocked.exists());
Unlocked.swipeUp(25);
sleep(1000);
}catch(UiObjectNotFoundException e1){
e1.printStackTrace();
Log.d("Unlocked", "Exception!!!", e1);
System.out.println("Unlocked Exception!!!");
Screenshot("Unlocked");
UiDevice.getInstance().pressBack();
sleep(1000);
UiDevice.getInstance().sleep();
sleep(1000);
UiDevice.getInstance().wakeUp();
sleep(1000);
}
for(int i=0;i<50;i++){
UiDevice.getInstance().pressBack();
sleep(1000);
UiDevice.getInstance().pressBack();
sleep(1000);
UiDevice.getInstance().pressBack();
sleep(1000);
startapp("com.android.settings/com.android.settings.Settings");
sleep(1000);
UiObject bt = new UiObject(new UiSelector().text("蓝牙").resourceId("android:id/title"));
assertTrue("bt fail!....",bt.exists());
bt.clickAndWaitForNewWindow();
sleep(1000);
UiObject Pop_ups = new UiObject(new UiSelector().text("要与"+btname+"配对吗?").resourceId("android:id/alertTitle"));
sleep(1000);
do {
sleep(1000);
} while (!Pop_ups.exists());
sleep(1000);
UiObject pair = new UiObject(new UiSelector().text("配对").resourceId("android:id/button1"));
Screenshot("pair_"+i);
pair.clickAndWaitForNewWindow();
sleep(1000);
UiDevice.getInstance().openNotification();
sleep(3000);
UiObject Wait_for_a_file = new UiObject(new UiSelector().text("有人发送文件给您").resourceId("android:id/title"));
do {
sleep(1000);
} while (!Wait_for_a_file.exists());
sleep(1000);
UiObject receive = new UiObject(new UiSelector().text("接受").resourceId("android:id/action0").description("接受"));
assertTrue("receive fail!....", receive.exists());
receive.click();
sleep(1000);
UiDevice.getInstance().openNotification();
sleep(1000);
Screenshot("Share_Bluetooth_"+i);
sleep(1000);
UiObject Share_progress1 = new UiObject(new UiSelector().resourceId("android:id/progress")
.className("android.widget.ProgressBar"));
for(int j=0;j<5;j++){ //判断蓝牙文件是否传输完毕
do {
sleep(1000);
} while (Share_progress1.exists());
}
Screenshot("Share_progress_End_"+i);
sleep(1000);
UiDevice.getInstance().pressBack();
sleep(1000);
UiDevice.getInstance().pressBack();
sleep(1000);
UiDevice.getInstance().pressBack();
sleep(1000);
startapp("com.android.settings/com.android.settings.Settings"); //再次进入设置
sleep(1000);
UiObject bt2 = new UiObject(new UiSelector().text("蓝牙").resourceId("android:id/title")); //点击蓝牙
assertTrue("bt fail!....",bt2.exists());
bt2.clickAndWaitForNewWindow();
UiObject Bluetooth_settings = new UiObject(new UiSelector().description("设备设置") //点击连接的蓝牙设置
.resourceId("com.android.settings:id/deviceDetails"));
assertTrue("Bluetooth_settings fail!...",Bluetooth_settings.exists());
Bluetooth_settings.clickAndWaitForNewWindow();
sleep(1000);
UiObject Cancel_save = new UiObject(new UiSelector().text("取消保存").resourceId("android:id/button2")); //取消已经连接的蓝牙
Cancel_save.clickAndWaitForNewWindow();
sleep(1000);
Screenshot("Cancel_save_"+i);
sleep(1000);
}
}
}
uiautomator 代码记录 :BT接收测试的更多相关文章
- uiautomator 代码记录 : BT发送测试
package rom; import java.lang.*; import java.util.Random; import java.io.File; import com.android.ui ...
- uiautomator 代码记录 : 随机发送短信
package sms_test; import java.lang.*; import java.util.Random; import javax.microedition.khronos.egl ...
- UiAutomator 代码记录: 随机创建新联系人
package lecturer; import java.lang.*; import java.nio.Buffer; import java.util.Random; import java.i ...
- UiAutomator 代码记录 : 遍历桌面
package test_one; import java.lang.*; import java.io.File; import com.android.uiautomator.core.UiDev ...
- MVVM 代码记录
一.XML <Page x:Class="MVVM.MainPage" xmlns="http://schemas.microsoft.com/winfx/20 ...
- Java 中静态代码块初始化问题测试
Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...
- 记录一下Junit测试MongoDB,获取MongoTemplate
只是自己记录一下,测试MongoDB帮助类时,没有配置文件的测试 public class HelperTest { MongoTemplate template; @Before public vo ...
- Java8 Stream代码详解+BenchMark测试
Java8 Stream基础.深入.测试 1.基本介绍 1.创建方式 1.Array的Stream创建 1.直接创建 // main Stream stream = Stream.of("a ...
- python UI自动化实战记录五:测试页面2 pageobject
该部分记录测试页面2-StrategyPage,所有页面2上的元素定位.操作.获取属性等方法都写在该类中. 1 页面2继承自BasePage: 2 页面2第一部分写的是所有的定位器 3 页面2第二部分 ...
随机推荐
- 由于未能创建Visual C# 2015编译器,因此未能打开项目xxx。请重新安装Visual Studio。
解决方案1: 清除如下文件夹里的内容. %AppData%\Local\microsoft\VisualStudio\14.0\ComponentModelCache or C:\Users\DEL ...
- spring4与mongodb的集成
新项目的辅助系统,需要用到mongo系统,今天再次将其使用环境进行了操作搭建.还是遇到一些问题,毕竟之前使用的场景和现在的不同.版本也不一样了. 本次使用的环境: mongo:3.4.4版本 OS: ...
- SDRAM初识
SDRAM初识 1. 2. 3. 4. SDRAM分为bank地址和行列地址,看bank地址的位宽就可以推断出bank的数量,行列地址信号是集成在了一个信号中,是并行的. 5. 6. SDRAM与主机 ...
- SDI初识
SDI初识 SDI接口,即“数字分量串行接口(Serial Digital Interface)”.按照速率可以分为: 标准清晰度SD-SDI,速率为270Mb/s; 高清标准HD-SDI,速率为1. ...
- 字符串CRC校验
字符串CRC校验 <pre name="code" class="python"><span style="font-family: ...
- awk 文本处理工具
awk: 强大的文本处理工具,擅长对日志文件进行分析: 不仅用于Linux,也是任何环境中现在的功能最强大的数据处理引擎: 语法说明: awk '{pattern + action}' {filena ...
- RichEdit选中文字右键菜单的实现
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: ...
- docker配置ftp服务器
docker run --name ftp_server -d -v ~/Projects/ftp:/home/vsftpd -p : -p : -p -:- -e FTP_USER=ftp -e F ...
- sublime 最近用的有点卡
index_files:false,
- IP地址与无符号整数值相互转换
方法1:IP地址转换为整数:比如"192.168.1.254",以点为分割,将192 168 1 254保存在一个int a[4]数组里,然后通过unsigned int nRes ...