2015-01-19 38 views
6

Tôi đang thử nghiệm một Rest API sử dụng SOAP UI công cụ.Gửi Cookie theo yêu cầu của tiêu đề trong yêu cầu UI SOAP cho dịch vụ web còn lại

Trước tiên, tôi nhấn một API mà đã cho tôi jSessionid và sau đó trong yêu cầu thực tế của tôi tôi đã thêm một tham số vào tiêu đề yêu cầu của tên "Cookie" và cung cấp cho nó các chiết xuất trên giá trị jsessionid. Mọi thứ đều ổn.

Những gì tôi muốn là bằng cách nào đó tự động thiết lập các cookie/jessionid trong yêu cầu tiêu đề không rõ ràng/bằng tay làm việc đó.

Làm thế nào nó có thể được thực hiện?

Trả lời

2

Bạn có thể dễ dàng thao tác Cookies sử dụng kịch bản Groovy. Trong soapUI, Cookie được lưu giữ trong các cửa hàng Cookie:

import com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport 
def myCookieStore = HttpClientSupport.getHttpClient().getCookieStore() 

Bạn có thể đọc tất cả các cookies trong đó:

def myCookies = myCookieStore.getCookies() 
def interestingCookie 
myCookies.each { 
    if(it.name == "JSESSIONID") 
     interestingCookie = it 
} 

Để tạo một Cookie mới trong một yêu cầu khác:

import org.apache.http.impl.Cookie.BasicClientCookie 
def myNewCookie = new BasicClientCookie("cookie_name", "cookie_value") 
myNewCookie.version = 1 
myNewCookie.domain = "qa.test" 
myCookieStore.addCookie(myNewCookie) 

Tôi có một số thông tin bổ sung trong một bài đăng trên blog cũ hơn here.

6

Bạn có thể tạo ra một phiên ứng dụng từ giao diện người dùng và sử dụng cookie lưu phiên. Nhận chi tiết cookie phiên từ trình duyệt bằng cách sử dụng các công cụ dành cho nhà phát triển của trình duyệt. Những hình ảnh cho thấy nơi các cookie có sẵn trong các trình duyệt: Getting cookie header parameter

Trong soapUI tạo một thuộc tính tiêu đề với cùng một giá trị bạn nhận được từ trình duyệt và chạy theo yêu cầu. Yêu cầu sẽ sử dụng cùng một id phiên (JSESSIONID) được lưu trong cookie để chạy yêu cầu. Các hình ảnh dưới đây cho thấy cách thêm giá trị cookie vào tiêu đề. Adding cookie value o request header

+0

Các OP biết làm thế nào để làm điều đó. Câu hỏi đặt ra là làm thế nào để tự động hóa quá trình này. –

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