VoLTE和语音呼通率测试开发--被叫终端(一)

本文介绍了如何进行VoLTE视频通话的接通率测试,基于uiautomator框架,通过监听来电并自动接听实现自动化测试。测试需求包括50次通话,每次通话时长180s,间隔30s,呼叫超时时间30s。
摘要由CSDN通过智能技术生成

现在我们要测试两台终端的接通率,这里我只写VoLTE视频通话的呼叫,一般使用移动卡,且开通VOLTE业务。视频通话功能!

我们基于uiautomatior框架。在uiautomatior中有来电监听API的UIwatchar,不懂得百度;一般在在自动化的时候,监听是为了测试过程会有来电中断测试,所以监听一有来电就挂掉,不让它影响测试;

我们这里监听不是为了挂断,是为了接听,思路很简单:当有来电(VoLTE视频通话)来电,就接听等场景就行。

 

开发需求:volte 通话次数50 次、通话时长180s、间隔时间30s、呼叫超时时间30s

 

VoLTE视频通话:

代码如下:匆匆忙忙写的,格式很乱,被注释的语句请忽略(或者删除),只看中文注释

package uiauto;


//import util.Bundle;
//import util.RemoteException;
//import util.UiObjectNotFoundException;
import util.Common;
import util.PackageEvent;
import util.CmdAdb;
import util.ImgCompare;
import util.Location;
import util.Selector;
import util.FileUtil;
import java.io.BufferedWriter;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;



import android.os.Bundle;
import android.os.RemoteException;

import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.core.UiWatcher;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class Answerphone extends UiAutomatorTestCase {
//	Common common = new Common();
//	PackageEvent packageEvent = new PackageEvent();
	private static final long TIME_OUT = 10 * 60 * 1000;  
    private long currentTime;  
    private boolean flag = true;  
  
    long eslcape = 0; 
    
	public void testAnswerphone() throws Exception{//Exception
	int count=1;
	int count1=1;

	UiObject JietingOne = new UiObject(new UiSelector().text("视频通话来电"));//��Ƶͨ������视频通话来电
//	UiObject VOLTEcall = new UiObject(new UiSelector().resourceId("com.android.dialer:id/callStateLabel"));//��Ƶͨ������视频通话来电
	UiObject VOLTEcall = new UiObject(new UiSelector().resourceId("com.android.dialer:id/videoCallIcon"));//��Ƶͨ������VOLET来电小图标

//1/	
	/*UiWatcher inComingWatcher = new MyWatcher();  
    getUiDevice().registerWatcher("来电", inComingWatcher);  
     
    getUiDevice().pressBack();  
//    UiObject dialButton = new UiObject(new UiSelector().resourceId("com.android.sprdlauncher1:id/workspace"));  
    System.out.println("waiting for incoming");  
    currentTime = System.currentTimeMillis();  
    while (flag && eslcape < TIME_OUT) {  
//    	VOLTEcall.clickAndWaitForNewWindow();  
    	Runtime.getRuntime().exec("input  keyevent  KEYCODE_CALL");//接听
        eslcape = System.currentTimeMillis() - currentTime;  
    }  
    assertFalse("没有收到来电", flag);  
}  


class MyWatcher implements UiWatcher {  

//    @Override  
    public boolean checkForCondition() {  
//        UiObject inCall = new UiObject(new UiSelector().resourceId("com.android.dialer:id/IncomingCallRejectButton"));  
    	UiObject VOLTEcall = new UiObject(new UiSelector().resourceId("com.android.dialer:id/callStateLabel"));//��Ƶͨ������视频通话来电
        while (eslcape < TIME_OUT) {  
            if (VOLTEcall.exists()) {  
                System.out.println("you have a call");  
                try {  
//                	VOLTEcall.clickAndWaitForNewWindow();  
                	System.out.println("22222222222");  
                	Runtime.getRuntime().exec("input  keyevent  KEYCODE_CALL");//接听
                    flag = false;  
                  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试狂人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值