7

Tôi có một ứng dụng. Có một nút trong ứng dụng, trong đó, nếu được nhấp, thoát khỏi ứng dụng. Tôi đang thử nghiệm ứng dụng bằng cách sử dụng các công cụ UIAutomation. Tôi muốn kiểm tra nút này. Nhưng sau khi thoát khỏi ứng dụng, nhạc cụ sẽ ngừng đưa ra một ngoại lệ. Những gì tôi muốn làm là sau khi ứng dụng tồn tại, tôi muốn mở lại ứng dụng và tiếp tục với phần còn lại của bài kiểm tra. Có ai khác trong cùng một tình huống không? Nếu vậy, bạn có thể vui lòng chia sẻ giải pháp, nếu bạn đã tìm thấy bất kỳ giải pháp nào không?Làm cách nào để tiếp tục thử nghiệm ứng dụng iOS, sử dụng công cụ UIAutomation, ngay cả sau khi thoát ứng dụng?

+0

Chỉ cần thông tin - Apple không thích khi bạn có nút tồn tại ứng dụng. Bạn có đang xây dựng cửa hàng ứng dụng không? – nycynik

+0

Vâng, đã có trên appstore. Một sứ giả của nó và có nút này đặt lại ứng dụng (nó xóa thông tin đăng nhập) Kết quả là, ứng dụng thoát. Vì vậy, về mặt kỹ thuật, nó không phải là một nút để thoát khỏi ứng dụng. –

Trả lời

3

Điều này là không thể vì Công cụ mất kết nối với quy trình ứng dụng sau khi thoát.

Nếu bạn đang viết UI Automation từ dòng lệnh, bạn có thể chạy tập lệnh tự động hóa thứ hai sau khi thoát ứng dụng đầu tiên rồi kiểm tra để đảm bảo mọi thứ được đặt lại.

instruments \ 
    -D [trace document] \ 
    -t [instruments template] \ 
    /path/to/Bundle.app \ 
    -e UIARESULTSPATH [directory to store test output] \ 
    -e UIASCRIPT reset_the_app.js 

instruments \ 
    -D [trace document] \ 
    -t [instruments template] \ 
    /path/to/Bundle.app \ 
    -e UIARESULTSPATH [directory to store test output] \ 
    -e UIASCRIPT check_that_the_app_is_reset.js 

Vì vậy, thay vì cố gắng để có được cùng một ví dụ của cụ để relaunch và lắp lại để ứng dụng, chỉ cần chạy hai kịch bản riêng biệt, một trong đó không bạn reset-and-hủy bỏ, và người kia để kiểm tra kết quả trạng thái của ứng dụng.

+0

Cảm ơn bạn đã trả lời. Tôi đã suy nghĩ tương tự rằng điều này không thể được thực hiện bằng cách sử dụng UIAutomation chính nó. –

0

Bạn có thể sử dụng:

UIATarget.localTarget().deactivateAppForDuration(n); 

trong đó n là số giây bạn muốn ứng dụng này để khởi động lại. Tôi hi vọng cái này giúp được.

+0

Tắt ứng dụng không phải là bất kỳ cách nào khởi động lại. Xem tài liệu như https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html#//apple_ref/doc/uid/TP40007072-CH8-SW1 để biết thêm thông tin. –

0

cảm ơn cho câu trả lời, nhưng các tài liệu nói: "Khi người dùng thoát khỏi ứng dụng của bạn bằng cách bấm nút Home hoặc gây ra một số ứng dụng khác đến tiền cảnh, ứng dụng của bạn bị đình chỉ"

Vì vậy, nó không khởi động lại nhưng bị treo?

+0

có, nó chỉ đình chỉ ứng dụng cho thời gian được đề cập trong vài giây và nó không khởi động lại. – coder284

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