Gửi một HTTP GET Request phức tạp và nhận HTTP Response

Một phần của tài liệu Nghiên cứu kiểm thử các ứng dụng web và xây dựng công cụ hỗ trợ (Trang 25)

Khi muốn gửi một HTTP GET Request và có các thuộc tính điều khiển đầy đủ, chúng ta phải tạo một đối tượng thuộc lớp HttpWebRequest và nhận về Http-response bằng cách sử dụng phương thức GetResponse().

Các lớp HttpWebRequest và HttpWebResponse là cách tốt nhất để chúng ta gửi và nhận dữ liệu HTTP trong các kịch bản LightWeight Test Automation. Nó hỗ trợ rất nhiều các thuộc tính hữu dụng, 2 lớp này nằm trong namespace System.Net, chúng có khả năng truy cập mặc định trong ứng dụng Console[6].

Một đối tượng HttpWebResponse được trả lại bởi gọi phương thức HttpWebResponse.GetResponse(). Chúng ta có thể kết hợp các stream phản hồi với đối tượng StreamReader và nhận toàn bộ các Http-response bằng cách dùng phương thức ReadToEnd(). Ngoài ra chúng ta cũng có thể nhận các Http-response theo từng stream một bằng cách dùng phương thức StreamReader.ReadLine().

Các kỹ thuật này cho phép chúng ta giới hạn các yêu cầu phản hồi và thiết lập thời gian dừng (Timeout). Dưới đây là một số các thuộc tính hữu dụng của lớp HttpWebRequest trong LightWeight Test Automation.

AllowAutoRedirect: Trả về hoặc thiết lập giá trị chỉ ra rằng có hay không yêu cầu theo sự phản hồi chuyển hướng.

CookieContainer: Trả về hoặc thiết lập các cookie kêt hợp với yêu cầu.

KeepAlive: Trả về hoặc thiết lập một giá trị chỉ ra răng có hay không việc

duy trì kết nối tới tài nguyên nguồn trên Internet.

MaximumAutomaticRedirections: Trả về hoặc thiết lập một giá trị tối đa

chuyển hướng theo yêu cầu.

Proxy: Trả về hoặc thiết lập Proxy theo yêu cầu.

SendChunked: Trả về hoặc thiết lập một giá trị chỉ ra có hay không việc gửi

dữ liệu tới tài nguyên internet nguồn.

Timeout: Trả về hoặc thiết lập giá trị thời gian hết hạn cho yêu cầu

UserAgent: Trả về hoặc thiết lập giá trị User-Agent HTTP header

Một phần của tài liệu Nghiên cứu kiểm thử các ứng dụng web và xây dựng công cụ hỗ trợ (Trang 25)