Android 는 테스트 프로그램 에서 테스트 되 는 개인 데 이 터 를 삭제 하 는 방법 입 니 다.

2672 단어 android
우 리 는 안 드 로 이 드 앱 테스트 를 할 때 응용 프로그램의 초기 상 태 를 회복 하려 면 다음 과 같은 몇 가지 방법 이 있 을 수 있다 는 것 을 알 고 있 습 니 다.
수 동
Setting -> Apps -> 우리 가 측정 할 프로그램 을 누 르 십시오 -> Clear data 를 선택 하 십시오
이렇게 앱 을 다시 시작 할 때, 우리 프로그램 은 초기 상태 에 있 습 니 다.
명령 행
물론 우 리 는 명령 행 을 사용 하여 조작 할 수 있다. 예 를 들 어:
adb shell pm clear my.app.package

대응 하 는 가방 이름 만 네 것 으로 바 꾸 면 된다.
오토 메 이 션
자동화 할 수 있다 면 더욱 완벽 해 질 것 입 니 다. 그러면 우 리 는 우리 의 자동화 케이스 에 해당 하 는 App 원시 상 태 를 회복 하 는 코드 를 추가 할 수 있 습 니 다. 그러면 우 리 는 우리 의 Case 가 항상 일치 하 는 테스트 환경 에 있다 는 것 을 보장 할 수 있 습 니 다. 더욱 아름 답지 않 겠 습 니까?
여기 서 나 는 두 가지 방법 을 찾 았 다.
방법 1: VBS 스 크 립 트 에 코드 를 추가 하여 작업 완료
Set objWsh = CreateObject("Wscript.Shell")

objWsh.Run "adb shell pm clear my.app.package",1, True

방법 2: Android Test Project 에 해당 코드 를 추가 하여 개인 원본 데 이 터 를 삭제 합 니 다.
        Context context = this.getInstrumentation().getTargetContext().getApplicationContext();        

        Editor edit = context.getSharedPreferences(m_strPreferencesName, Context.MODE_PRIVATE).edit();

        edit.clear();

        edit.commit();

물론 'm strPreferences Name' 이라는 데 이 터 를 삭제 합 니 다. 다른 데 이 터 를 삭제 하거나 모든 Share Preferences 데 이 터 를 삭제 하려 면 가능 합 니 다.
주의:
자바 에 자바. lang. runtime 이 있 지만 실행 할 때 Command 명령 을 실행 하여 작업 을 수행 할 수 있 습 니 다. 하지만 안 드 로 이 드 에 서 는 아래 코드 와 유사 하면 안 됩 니 다.
        try

        {

            Runtime.getRuntime().exec("adb shell pm clear com.my.package");

        }

        catch(IOException ex)

        {

            ex.printStackTrace();

        }

여 기 는 아무런 이상 도 버 리 지 않 을 뿐만 아니 라 앱 의 데이터 도 제거 하지 않 습 니 다.
한 앱 이 다른 앱 의 데 이 터 를 삭제 하 는 것 을 허용 하지 않 기 때문이다.
참고 자료:
http://stackoverflow.com/questions/5544205/accessing-application-context-from-testsuite-in-setup-before-calling-getactivi
http://stackoverflow.com/questions/4856955/how-to-programatically-clear-application-data
 
 

좋은 웹페이지 즐겨찾기