Câu hỏi WebDriverException ném một phần thông qua kiểm tra Selenium chỉ khi chạy từ xa


Tôi dường như có một vấn đề với một trong những bộ thử nghiệm của tôi chỉ khi chạy từ xa và chỉ khi cố gắng tương tác với một yếu tố cụ thể. Tôi đang xây dựng và vận hành nó thông qua VSTS.

Lỗi:

OpenQA.Selenium.WebDriverException: Một ngoại lệ với một phản hồi null đã được gửi một yêu cầu HTTP đến máy chủ WebDriver từ xa cho URL (URL redacted, là một URL localhost). Trạng thái của ngoại lệ là ReceiveFailure và thông báo là: Kết nối cơ bản đã bị đóng: Một lỗi không mong muốn xảy ra khi nhận. ---> System.Net.WebException: Kết nối cơ bản đã bị đóng: Một lỗi không mong muốn xảy ra khi nhận. ---> System.IO.IOException: Không thể đọc dữ liệu từ kết nối truyền tải: Kết nối hiện có bị đóng bởi máy chủ từ xa. ---> System.Net.Sockets.SocketException: Một kết nối hiện có bị đóng bởi máy chủ từ xa

HTML cho phần tử tôi đang cố gắng nhập một số vào (chúng tôi đang sử dụng loại trực tiếp):

<input type="number" min="0" max="999" data-bind="value: redacted).extend({ min: 0, required: { message: 'redacted' } }), disable: redacted" name="redacted" id="redacted" title="redacted" required="required" class="">

Đừng bận tâm redacted. Tôi muốn để lại tất cả các thuộc tính ở đó để hiển thị những thuộc tính nào được thiết lập cho phần tử nhưng các giá trị thực được redacted.

Đây là mã tôi đang sử dụng để nhập một giá trị vào phần tử:

IWebElement element = driver.FindElement(By.Id(elementID));
element.Clear(); 
element.SendKeys(value);

Điều này đang chạy với ChromeDriver. Có một số trường số khác mà tôi thành công có thể điền dữ liệu vào mà không có vấn đề.

Bất kỳ ý tưởng nào có thể xảy ra ở đây và cách khắc phục?


8
2018-02-21 21:24


gốc


Những gì bạn có nghĩa là chạy từ xa? Kiểm tra cuộc gọi / chạy trong máy, nhưng thử nghiệm thực thi trên máy từ xa hoặc cuộc gọi / chạy và thực thi kiểm tra trên cùng một máy từ xa? Kết quả là gì nếu bạn chạy thử nghiệm trên máy cục bộ? Chi tiết của yếu tố cụ thể là gì? - starian chen-MSFT
@ starain-MSFT Nó được gọi trong VSTS và được chạy trên một máy chủ xây dựng từ xa. Tôi không bao giờ gặp phải vấn đề này khi chạy cục bộ. Tôi không chắc chắn ý của bạn là gì "Chi tiết của yếu tố cụ thể là gì?", Tôi đã hiển thị HTML của phần tử được đề cập ở đây. - tnw
Về yếu tố cụ thể, bạn có nghĩa là nó hoạt động tốt với các yếu tố khác? Tác nhân xây dựng có chạy ở chế độ tương tác không? Mặt khác, nó hoạt động tốt khi chạy cục bộ, kết quả là gì nếu bạn chạy nó trên máy chủ xây dựng đó theo cách thủ công? - starian chen-MSFT
@ starain-MSFT Nó hoạt động tốt với các yếu tố khác và nó cũng hoạt động tốt nếu tôi chạy nó trên máy chủ xây dựng bằng tay. Tôi không chắc chắn một cách trung thực làm thế nào để thiết lập các đại lý xây dựng lên để chạy như chế độ tương tác. - tnw
Về chế độ tương tác, gõ không và nhấn enter cho bước hỏi xem liệu cấu hình đại lý là dịch vụ khi bạn cấu hình đại lý xây dựng. (Bạn có thể thiết lập tác nhân tạo mới trên cùng một máy với chế độ tương tác) - starian chen-MSFT


Các câu trả lời:


Điều đó có vẻ như một số loại SSL hoặc vấn đề mạng nội bộ trên máy chủ xây dựng VSTS, có lẽ rất khó để có thêm thông tin, vì bạn không nên truy cập đầy đủ vào máy đó.

Chúng tôi cũng có các bài kiểm tra Selenium về Tích hợp liên tục của chúng tôi, nhưng chúng tôi sử dụng máy chủ xây dựng cục bộ được ràng buộc với VSTS, kiểm soát nhiều hơn các bản dựng và quy trình.


1
2018-02-28 14:56



Tôi có toàn quyền truy cập vào máy. Bạn muốn giới thiệu thêm thông tin về điều gì? - tnw
Hãy thử thêm một proxy ở giữa, tôi muốn sử dụng Fiddler để xem các yêu cầu đi ra khỏi Selenium WebDriver từ xa của bạn và xem vấn đề xung quanh chúng là gì - Pedro Luz