2011-08-23 42 views
27

Có cách nào để thiết lập Xác thực cơ bản HTTP cho tất cả các yêu cầu trong dự án SoapUI không?Thiết lập Xác thực cơ bản HTTP cho tất cả các yêu cầu

Tôi biết nó có thể được thực hiện cho tất cả các yêu cầu trong một TestSuite nhưng tôi không thể tìm ra cách để làm điều đó cho tất cả các yêu cầu trong tất cả các TestSuites.

+0

Có lý do cụ thể nào khiến bạn không thiết lập Xác thực cơ sở HTTP thông qua cấu hình máy chủ web không? – Oswald

+0

Xác thực đã được bật trên máy chủ - và tôi không thể xác thực bằng cách sử dụng SoapUI làm ứng dụng khách. Tuy nhiên, tôi phải thiết lập xác thực cho mỗi yêu cầu/TestSuite riêng lẻ mỗi lần. Tôi muốn có thể thiết lập nó một lần cho tất cả các yêu cầu trong dự án – DisscCoder

Trả lời

7

Có một số cách để làm điều này:

  1. Set thông tin về mức độ Endpoint. Tất nhiên điều này sau đó được sử dụng cho tất cả các bước kiểm tra nơi mà điểm cuối được sử dụng.

  2. Đặt thông tin xác thực ở cấp Trường hợp thử nghiệm (nhấp vào biểu tượng khóa). Thông tin đăng nhập truyền xuống từng bước thử nghiệm.

  3. Sử dụng Custom Project Properties để lưu trữ các thông tin quan trọng, sau đó sử dụng mở rộng tài sản trong tab Auth trên mỗi thử nghiệm Bước để lấy bạn Tuỳ chỉnh Properties (username/password) http://www.soapui.org/Scripting-Properties/working-with-properties.html
    http://www.soapui.org/Scripting-Properties/property-expansion.html

+2

Bước 1 được thực hiện như thế nào? Làm cách nào để bạn thêm thông tin đăng nhập trực tiếp vào điểm cuối? –

+2

2 và 3 chỉ hoạt động trong một bộ kiểm tra, không phải trong các đối tượng yêu cầu trong định nghĩa dịch vụ. Và 1 không hoạt động mà không đi vào mọi phương thức và định cấu hình auth. Khá vô nghĩa khi đặt nó vào định nghĩa điểm cuối khi bạn vẫn phải kích hoạt nó vào mọi phương thức. Tôi không biết tại sao nó không có cơ chế để luôn làm auth nếu thông tin xác thực được cung cấp, nhưng tôi khá thuyết phục rằng không ai ở SB thực sự sử dụng sản phẩm của riêng họ. –

40

Trong soapUI 5.0 hoặc cao hơn, bạn có thể đặt nó trên basicHttpBinding của dịch vụ của bạn từ cửa sổ Navigation ở bên trái (tôi nghĩ đó là giao diện) (đó là cha mẹ của tất cả các phương thức của bạn và con trực tiếp của dự án).

Nhấp chuột phải vào tên giao diện và chọn "Hiển thị trình xem giao diện". Sau đó chuyển đến tab "Điểm cuối dịch vụ". Đặt thông tin xác thực của bạn ở đó. Bây giờ bạn không phải chỉ định xác thực cho mọi phương thức trong dịch vụ của bạn.

+3

Đây là câu trả lời đơn giản nhất. Cảm ơn bạn! Tôi không biết tại sao điều này không rõ ràng hơn trong SoapUI ... – Tim

+2

Bất cứ ai xác nhận điều này làm việc cho một dự án REST/điểm cuối? Tôi nhận được một 'ClientProtocolException' nếu tôi đặt thông tin auth ở đây, trong khi cùng auth hoạt động tốt nếu tôi thêm nó vào mỗi thông báo yêu cầu riêng lẻ. – dbreaux

+0

Tôi đang sử dụng nó để truy cập Redmine REST API và nó hoạt động. Trong ngăn dẫn hướng, nhấp chuột phải vào nút dịch vụ (với URL của dịch vụ), chọn "Hiển thị trình xem dịch vụ". Trong Trình xem dịch vụ, chọn tab "Điểm cuối dịch vụ" và điền vào các trường tên người dùng và mật khẩu. Tôi không chắc chắn về "chế độ", nhưng tôi đang sử dụng COMPLEMENT. Sau đó, đối với mỗi yêu cầu, hãy chọn tab "Xác thực" và chỉ định "Cơ bản". Để trống trường tên người dùng và mật khẩu. Nhấp vào "Xác thực trước preemptively" để buộc các tiêu đề xác thực (mà không cần chờ đợi một thách thức từ máy chủ). – jramos

0

Trong ReadyAPI (SOAP UI Pro) phiên bản 2.2.0:

Trong dự án Tab, ở phần trên, có một Auth Manager

Trong quản lý này, tạo ra một hồ sơ cá nhân xác thực trong Auth Repository tab, với đúng usernamepassword. Để lại Domain trống và đặt Authenticate Pre-emptively

Trong Auth Manager tab, chọn cấp trên yêu cầu từ mà bạn muốn áp dụng thông tin của bạn (tôi đã sử dụng đầu một) và, trong cột authorization method, chọn hồ sơ của bạn. Trên yêu cầu 'mở rộng cho trẻ em' nói 'có', tất cả chúng nên chuyển sang trạng thái 'Kế thừa từ cha mẹ'.

Khi bạn tạo TestSuite từ dự án của mình, tất cả các yêu cầu của bạn sẽ được kế thừa từ cấp độ gốc và áp dụng thông tin đăng nhập bạn đã đặt trong tiểu sử.

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