2012-05-23 32 views
5

Tôi đang sử dụng trình quản trị web selenium (phần mở rộng php-webdriver-bindings Yii) và tôi đang cố gắng để có được phiên trình duyệtId (một phiên mà thử nghiệm sẽ sử dụng). Tôi nghĩ rằng tôi có thể nhận được điều này thông qua webdriver, nhưng điều đó dường như không phải là trường hợp. Webdriver có một sessionId, nhưng đó không phải là một trình duyệt thử nghiệm đang sử dụng.Cách nhận phiên trình duyệtId bằng cách sử dụng trình quản trị web Selenium

Tôi đang cố gắng đăng nhập trước khi chạy thử nghiệm để cho phép thử nghiệm của tôi trở thành người dùng được xác thực sẽ cho phép họ truy cập các trang tôi đang thử nghiệm.

Tôi đã nghiên cứu và thử nghiệm điều này trong một vài ngày và tôi đang thua lỗ. Mọi sự trợ giúp sẽ rất được trân trọng.

Cảm ơn.

+0

Lớp RemoteWebDriver có phương thức getSessionId() nhưng tôi chắc chắn đó không phải là những gì bạn đang tìm kiếm. Tôi đã cố gắng để làm một dự án WebDriver thuần túy và cũng nhận thấy rằng WebDriver không có phương pháp này. Tôi không chắc chắn về "phương pháp WebDriver" cho điều này là ... – djangofan

+0

Tôi không rõ ràng 100% về những gì bạn cần dựa trên câu hỏi của bạn, nhưng phương thức .hashCode() hiển thị mã băm duy nhất của Trình quản lý Web, và nó đã đáp ứng nhu cầu của tôi. – gorbysbm

Trả lời

0

Tôi có vấn đề này trong Java, nhưng xem xét chặt chẽ hơn của mã nguồn, nhận thấy rằng người lái xe tôi đã sử dụng được khởi tạo như một đối tượng WebDriver. Sau khi thay đổi nó thành đối tượng RemoteWebDriver, phương pháp .getSessionId() đã được hiển thị và driver.getSessionId() trả về id phiên như mong đợi.

Tôi không chắc chắn làm thế nào để dịch sang PHP, nhưng tôi khuyên bạn nên quay lại và kiểm tra để đảm bảo rằng trình điều khiển của bạn là đối tượng RemoteWebDriver, thay vì đối tượng WebDriver.

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