Nhật ký RPA Developer: Kinh nghiệm debug của một fresher

Tuần rồi mình nhận được email báo lỗi của user về việc Bot không tương tác được với môi trường (một ứng dụng desktop) sau khi môi trường đó được cài lại. Tất nhiên theo phản xạ đầu tiên mình sẽ hỏi lại user ngay rằng:

  1. Đường dẫn cài lại có giống như cũ không?
  2. Phiên bản cài lại có chính xác là phiên bản cũ không?

Sau khi nhận được confirm từ 2 câu hỏi trên thì hành trình debug của mình bắt đầu:
Đầu tiên mình check lại file Log hoạt động của Bot, đúng là đã có một element mà bot không tìm, mình cho chạy lại bot thì đúng thật là element đó đã không xuất hiện, nhưng mà vì sao nó lại không xuất hiện? Sau đó mình bắt đầu đọc lại PDD và code cũ thì thấy rằng để element đó xuất hiện cần phải nhấn phím Enter vào một dòng dữ liệu bất kì. Lúc đó mình có 2 suy đoán:

  1. Activty Send Hot Key (phím Enter) bị lỗi, tuy nhiên các package của akaBot trên máy user không hề được cập nhật từ trước đến nay => Loại trường hợp này
  2. Đường dẫn Target Element của dòng đó bị đổi, tuy nhiên mình cũng thử highlight lên thì thấy element đó vẫn đang xác định được => Loại trường hợp này

Tới đây mình đang hơi bí nên bắt đầu tham khảo ý kiến của mọi người trong team, mọi người khuyên mình đặt thật nhiều delay và message box xung quanh cái Enter đó để xem xét. Và điều kì diệu đã xảy, nhờ đặt delay mà mình đã kịp nhìn thấy trước khi nhấn Enter có một pop-up thông báo lỗi của môi trường xuất hiện (thiếu một file gì gì đó) cho nên phím Enter đã ăn vào pop-up này thay vì element mà mình mong muốn dẫn đến lỗi về sau.
Qua đây mình rút ra được một kinh nghiệm nho nhỏ: khi user báo lỗi hãy thử nhờ user làm tay một tác vụ nhỏ để kiểm tra toàn diện lại môi trường xem có gì bất thường hay không, bởi vì bot không thể tự nhiên lỗi được, một khi nó lỗi chắc chắn phải có lí do :3