Nhảy tới nội dung
Phiên bản: 1.0.1

Cấu hình Test Scenario

Khi cấu hình kịch bản kiểm thử, người dùng có thể mắc các lỗi về logic, kiểu dữ liệu… dẫn đến fail, thậm chí error khi debug hoặc run test scenario.

Trong phần này, LLQ QA Platform sẽ chỉ ra các lỗi thường gặp khi cấu hình kịch bản kiểm thử, hỗ trợ khách hàng khắc phục tình trạng đang gặp phải.

Element not found​

Thông báo sự cố: “Element not found” khi thực thi keyword/debug list action

alt text

Mô tả sự cố: “Element not found” trong kết quả thực thi kiểm thử

alt text

“Element not found” là lỗi không tìm thấy phần tử cần tương tác trên giao diện người dùng. Có một số nguyên nhân dẫn đến sự cố “Element not found”:

Nguyên nhânMô tảCách khắc phục
Địa chỉ xpath của element sai hoặc chưa đủ chi tiếtKhi sai địa chỉ xpath, hệ thống không thể tìm thấy element trên giao diện người dùng.Ưu tiên sử dụng kiểu dữ liệu Repository Element để định nghĩa locator cho các phần tử. Cần phân tích giao diện ứng dụng nhằm phân loại các loại element và xác định rõ các thuộc tính đặc trưng, đặc biệt đối với những phần tử có tính chất đặc biệt. Nên cấu hình locator sử dụng từ hai thuộc tính trở lên trong công thức XPath để đảm bảo khả năng phân biệt chính xác giữa các phần tử. Với các element đặc biệt, cần viết XPath thủ công theo đúng cấu trúc chuẩn: //Element[@tag attribute='value'].
Chọn sai element cho actionKhi sử dụng Element Repository hoặc công cụ Find element để xác định giá trị XPath của phần tử cần tương tác, người dùng có thể chọn sai loại element so với hành động mong muốn. Ví dụ, áp dụng action "select" cho một element có type là "input". Điều này dẫn đến lỗi hoặc hành vi không như kỳ vọng khi thực thi.Kiểm tra lại định dạng của element và action đã lựa chọn để tương tác trong scenario.
Giá trị truyền vào không tồn tại (các keyword select)Khi dùng keyword Select cho element có định dạng là combobox (select by value, select by visible text), giá trị của tham số truyền vào không tồn tại trong combobox.Đảm bảo giá trị truyền vào chính xác (ký tự viết hoa, viết thường và dấu cách).
Element không tồn tạiDo trình tự các bước trong kịch bản kiểm thử không chính xác hoặc điều kiện để xuất hiện element này không xảy ra.Kiểm tra lại kịch bản kiểm thử và xây dựng các bước đảm bảo chính xác và đầy đủ logic cho các keyword If-else.
Không thể tương tác với element- Element nằm trong một hoặc một số iframe, hệ thống sẽ không thể tương tác với element đó nếu chưa có action Switch To Frame.- Element nằm ở một tab khác của trình duyệt, hệ thống sẽ không thể tương tác đến nếu chưa có action switch to window/switch to next/previous window.Xác định vị trí của element để thực hiện các action switch to frame/window. Khi thao tác xong các bước ở trong iframe, cần thực hiện Switch To Default Content.
Thời gian chờ quá lâuKhi thực hiện một action nào đó, nếu hiệu năng của hệ thống kiểm thử không đạt dẫn đến loading quá lâu, khi quá thời gian chờ mặc định vẫn không tìm thấy element cần tương tác.Cài đặt thời gian sleep hoặc sử dụng wait element exist/disappear để tăng timeout cho action.

Sự cố “Cannot find Symbol”​

alt text

Thông báo sự cố: “cannot find symbol” khi debug list action.

alt text

Mô tả lỗi: “cannot find symbol” khi run scenario

“Cannot find symbol” là sự cố không tìm thấy tham số của action, shared steps hoặc test scenario được gọi ra không ở trạng thái active.

alt text

  • 1: symbol không tìm thấy của action, trong ví dụ này là thẻ Element Repository
  • 2: Vị trí phát sinh lỗi

Các nguyên nhân dẫn đến sự cố Cannot find symbol:

Nguyên nhânMô tảCách khắc phục
Xoá parameterTrong quá trình chỉnh sửa scenario/suite, người dùng xoá các parameter không cần thiết đã xoá nhầm tham số còn cần sử dụng hoặc xoá parameter nhưng không xoá action.Xác định vị trí lỗi theo tên symbol mà hệ thống không tìm thấy trong mô tả.
- Trong trường hợp còn sử dụng action: Bổ sung parameter cho action bằng cách click vào action đó và click save.
- Không còn sử dụng action đó trong scenario: xoá bỏ action.
Không tạo tham số khi cấu hìnhKhi sử dụng các action có thuộc tính returnType (ví dụ get text…), lựa chọn type là Variable và nhập tên tham số chưa có trong danh sách variable của test scenario/suite dẫn đến hệ thống không tìm thấy tham số khi debug hoặc run.Đối với các action có thuộc tính returnType:
- Chọn type là NewVariable nếu tên tham số chưa có trong danh sách variable của scenario.
- Click “Find variable” để chọn 1 variable đã có nếu chọn type là Variable, hạn chế nhập thủ công tránh nhập sai tên của tham số.
Duplicate test scenario từ một project khácTrong test scenario có sử dụng element repository hoặc shared steps, khi được nhân bản sang dự án khác, các tài nguyên đang sử dụng (repository, shared steps) không tồn tại, khi tiến hành cấu hình test scenario, người dùng không rà soát hết các vị trí bị null trong flow để thay thế hoặc loại bỏ.Rà soát lại test scenario, thay thế hoặc loại bỏ các vị trí lỗi.
Xoá repositoryTrong scenario tồn tại action sử dụng element repository bị xoá khỏi hệ thống.Cập nhật xpath cho element đó.
Test scenario/Shared steps chưa activeKhi cấu hình thực hiện gọi test scenario/shared steps nhưng các case này không ở trạng thái active.Đổi Status của test scenario/shared steps thành active.

Variable … is already defined in method​

alt text

Thông báo lỗi: “variable search is already defined in method” khi debug list action.

Mô tả lỗi: “Variable … is already defined in method” là lỗi một tham số nào đó đã được định nghĩa trong scenario.

Trong mỗi test của hệ thống kiểm thử tự động không cho phép đặt trùng tên của các variable. Khi người dùng tạo một tham số nhiều hơn 1 lần thì sẽ xảy ra lỗi này. Các nguyên nhân dẫn đến sự cố này:

Nguyên nhânMô tảCách khắc phục
Tạo 1 parameter 2 lần (bao gồm cả parameter cho input và output)Trong khi sử dụng, người dùng vô tình tạo 2 parameter trùng tên do thao tác copy – drag keyword hoặc không kiểm soát được tên các parameter.Sửa tên của parameter trong keyword và lưu, đồng thời thực hiện xoá parameter trong metadata của scenario.
Sử dụng variable trùng tên với parameterVới các action có thuộc tính returnType, variable của action đó không phải là parameter. Khi action bị xoá hoặc người dùng sửa tên của variable thì tên cũ của variable vẫn tồn tại trong list variable.
alt text
- Khi returnType có type là variable và người dùng click “Find variable”, click chọn variable trùng tên với parameter đã có.
- ReturnType với type là newVariable: Nhập tên trùng với 1 variable đã tồn tại (có thể là parameter hoặc không).
Lưu ý: Nếu variable trùng tên với parameter nhưng không sử dụng thì không phát sinh lỗi.
Danh sách variable được sắp xếp theo thứ tự từ trên xuống dưới như sau:
- Variable (tạo ra khi returnType)
- Parameter (input)
- Output
Trong variable (Input/Output) hệ thống đều sắp xếp theo thứ tự từ cũ nhất đến mới nhất. Dựa theo đó mà lựa chọn đúng variable cho keyword. Trường hợp không dùng đến parameter (input/output) thì thực hiện xoá trong metadata của test.