我们都知道,在写uiautomator的时候,会写判断和定位问题,每条用例是否通过,不能人工一直守在旁边,要执行完后把结果保存到指定路径中,我们查看结果的时间去该路径查看就知道我们执行的这条用例是否通过,那么我们怎么去保存文件;
1.首先我们要自定义一个类和方法,为什么要定义,因为你后续要写很多条用例,不可能每条都要去写一遍,写好单独的公共类,就可以直接调用了。
文件方法百度可以直接搜索到,我就不直接写了,就引用百度的吧,这是固定的方法!
package dengshengyu.Util;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/*
* 项目名称:PublicPressureScript
* 类名称:FileUtil
* 类描述:写文件的父类,记录成功记录输出txt保存到指定路径
* 创建人:邓盛誉
* 创建时间:2017年8月16日 上午9:00
* 修改人:
* 修改时间:
* 修改备注:
* @版本v0.0.1
*
* */
public class FileUtil {
public static void out(String filepath, String text) throws Exception {
// Runtime.getRuntime().exec("mkdir sdcard/GotaTestPresure");
// File fileFound = new File(newfile);
File file = new File(filepath);
// 判断是否存在该文件,没有就创建它
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
// bw.write("开启错误次数:"+count1+";");
bw.write(text);
bw.close();
}
public static void MMS(String filepath, String text) throws Exception {
}
}
2.然后我们每条用例就可以引用以上的方法,我这里都是以文本方式保存到手机文件夹中,告知用户刚刚的用例有没有成功,成功或者失败的次数。
2.1以下是最简单的删除功能,如删除闹钟,把删除是否结果保存到文件中,调用以上的方法;
//判断是否删除干净
Runtime.getRuntime().exec("mkdir sdcard/dengshengyu"); // 在手机创建文件夹
Runtime.getRuntime().exec("mkdir sdcard/dengshengyu/AlarmClock"); // 在手机创建文件夹
if(i==0){
FileUtil.out("/sdcard/dengshengyu/AlarmClock/删除全部成功.txt", "删除成功"+count1+";");
System.out.println("DeleteChengGong");
count1=count1+1;
}else{ FileUtil.out("/sdcard/dengshengyu/AlarmClock/删除全部失败.txt", "删除不全"+count2+";");
System.out.println("DeleteShiBai");
count2=count2+1;
}
2.2 稍微复杂点的,判断wif开关的判断,写调用文件的方法都是和上面一样的,就是根据奇偶数判断,具体请看我另篇文章
//判断开关是否正确;
UiObject onOff = new UiObject(new UiSelector().resourceId("com.android.settings:id/switchWidget"));//开关控件
Runtime.getRuntime().exec("mkdir sdcard/dengshengyu"); // 在手机创建文件夹
Runtime.getRuntime().exec("mkdir sdcard/dengshengyu/wifi"); // 在手机创建文件夹
if(i%2==0){
if(onOff.getText().equals("开启")){//开启成功
FileUtil.out("/sdcard/dengshengyu/wifi/Wifi开启成功.txt", "开启正确次数:"+count+";");
System.out.println("KaiQiChengGong");
count=count+1;
} else if(onOff.getText().equals("关闭")){//开启失败!
FileUtil.out("/sdcard/dengshengyu/wifi/Wifi开启失败.txt", "开启失败次数:"+count1+";");
System.out.println("KaiQiShiBai");
count1=count1+1;
}
}else
if(onOff.getText().equals("关闭")){//关闭成功
FileUtil.out("/sdcard/dengshengyu/wifi/Wifi关闭成功.txt", "关闭正确次数:"+count2+";");
System.out.println("GuanBiChengGong");
count2=count2+1;
} else if(onOff.getText().equals("开启")){//关闭失败
FileUtil.out("/sdcard/dengshengyu/wifi/Wifi关闭失败.txt", "关闭失败次数:"+count3+";");
System.out.println("GuanBiShiBai");
count3=count3+1;
}
方法是固定的,至于怎么调用大家自己举一反三。
---------------------------------完,不明白的给我留言·······················
文章作者:享有盛誉之名