Chào các bạn đã đến với chủ đề tiếp theo của topic User Action. Hôm nay, chúng ta sẽ tiếp tục discuss về Take screenshot. Thông thường, bước này được xử dụng để attach vào report của bạn, giúp cho việc analyze dễ dàng hơn khi bạn gặp test case fail. Ví dụ như hình sau:
Trong report, ngoài việc xem log, thì mình nên attached screenshot vào. Lúc này, report sẽ nhìn rõ ràng hơn. Nhìn vào nó, mình có thể đoán được lỗi đến từ việc dev change code hoặc là script auto của mình.
Sau đây, mình sẽ giới thiệu 1 vài Katalon keyword để xử lý cho việc take screenshot như bên dưới:
Nội dung
1. [WebUI] Take Area Screenshot
- Take screenshot ở vị trí tọa độ được chỉ định.
Ví dụ:
1. Bạn muốn take screenshot tại x: 50, y: 25, width: 100, height: 150 và lưu thành file ‘advertisements.png’ trong project của bạn:
import org.openqa.selenium.Rectangle as Rectangle
import com.kms.katalon.core.configuration.RunConfiguration as RunConfiguration
WebUI.takeAreaScreenshot(RunConfiguration.getReportFolder() + '/advertisements.png', new Rectangle(50, 25, 100, 150))
2. Bạn muốn take screenshot tại x: 50, y: 25, width: 100, height: 1200 nhưng bạn muốn ẩn đi 1 vài đối tượng như button, link, text … và lưu thành file ‘advertisements.png’ trong project của bạn:
import org.openqa.selenium.Rectangle as Rectangle
import com.kms.katalon.core.configuration.RunConfiguration as RunConfiguration
WebUI.takeAreaScreenshot(RunConfiguration.getProjectDir() + '/advertisements_hide.png', new Rectangle(50, 25, 500, 1200), [findTestObject('1.Basic/Topic_07_WebBrowser_Command/link_Checkboxes')])
2. [WebUI] Take Element Screenshot
- Take screenshot đối tượng được chỉ định.
'Take a screenshot of a specific web element'
WebUI.takeElementScreenshot(RunConfiguration.getProjectDir() + '/checkboxes.png', findTestObject('1.Basic/Topic_07_WebBrowser_Command/link_Checkboxes'))
3. [WebUI] Take Full Page Screenshot
- Take screenshot toàn bộ trang web đang hiển thị. Nó bao gồm việc scroll xuống cuối page nếu chiều cao của web hiện tại lớn hơn đô phân giải của màn hình.
"Take entire-page screenshot included scroll"
WebUI.takeFullPageScreenshot(RunConfiguration.getProjectDir() + '/full_view_no_elements.png')
- Tương tự như Take Area Screenshot, keyword này cũng support việc che đi 1 vài object khi take screenshot
"Take entire-page screenshot but exclude element link_Checkboxes"
WebUI.takeFullPageScreenshot(RunConfiguration.getProjectDir() + '/full_view_no_elements_hide.png', [findTestObject('1.Basic/Topic_07_WebBrowser_Command/link_Checkboxes')])
4. [WebUI] Take Screenshot
- Take screenshot trang web đang hiển thị
'Take screenshot of current screen'
WebUI.takeScreenshot(RunConfiguration.getProjectDir() + '/Demo.png')
5. Kết
Như vậy chúng ta đã tìm hiểu qua 1 số keyworks để có thể take screen shot. Cảm ơn các bạn đã theo dõi bài viết của mình. Chúc các bạn thành công. Hẹn gặp lại các bạn ở những chủ đề tiếp theo. Bái bai.
Bài viết được mình tham khảo từ Katalon doc: https://docs.katalon.com/docs/katalon-studio-enterprise/keywords/web-ui-keywords/webui-accept-alert