10

Chúng tôi đã được sử dụng espresso cho tự động hóa android, và bao gồm nâng cấp thử nghiệmLàm thế nào để tự động kiểm tra nâng cấp cho android

Để thử nghiệm nâng cấp, chúng tôi cần phải thực hiện 3 bước sau:

  1. Làm cho một số hành động trong phiên bản cũ để chuẩn bị một số dữ liệu
  2. Nâng cấp lên phiên bản mới (cài đặt bìa)
  3. Kiểm tra dữ liệu được lưu trong phiên bản cũ được lưu giữ chính xác và không có vấn đề nào khác sau khi nâng cấp.

Hiện nay chúng tôi đang làm nó trong một cách rất vụng về:

#Before: prepare data on old version 
adb -s $DEVICE shell am instrument -e class com.example.test.upgrade.UpgradeTest#prepareDataIn${version} -w com.example.test/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner; 

#install new version 
adb -s $DEVICE install -r new_version.apk; 

#After: test after upgrading 
adb -s $DEVICE shell am instrument -e class com.example.test.upgrade.UpgradeTest#testUpgradeFrom${version} -w com.example.test/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner; 

Chúng tôi phá vỡ sự kiểm tra nâng cấp từ một phiên bản nào đó vào trước/sau 2 phần, bởi vì chúng tôi không biết nếu chúng tôi có thể (và cách) để cài đặt phiên bản mới bên trong thử nghiệm.

Tuy nhiên, thử nghiệm 3 bước này bằng lệnh adb có vẻ ngu ngốc và chúng tôi không thể dễ dàng nhận báo cáo junit.

Vì vậy, có ai biết một cách dễ dàng hơn để thực hiện thử nghiệm nâng cấp Android hay bạn có thể chỉ ra những gì chúng tôi đang làm sai?

Không giới hạn đối với Espresso, nếu bạn đang làm việc với khung khác, bạn làm cách nào để thực hiện thử nghiệm nâng cấp với nó?

Xin cảm ơn trước.

+0

Đã trở nên ít vụng về trong 2 năm qua chưa? – TWiStErRob

Trả lời

0

Bạn có thể gỡ bỏ cài đặt các gói hiện từ thiết bị nếu bạn chắc chắn bạn có một mới nhất:

adb uninstall <your-package-name> 

sau đó bạn chỉ có thể cài đặt và chạy thử nghiệm với gói ứng dụng mới nhất cài đặt. Một cách khác là sử dụng Gradle, sẽ luôn kiểm tra xem có bất kỳ thay đổi mã nào từ lần xây dựng trước đó không, sau đó nó sẽ gỡ cài đặt và cài đặt lại phiên bản mới nhất, bạn có đang sử dụng gradle để xây dựng và chạy thử nghiệm của mình không? Không phải lúc nào cũng vậy.

Các vấn đề liên quan