2010-11-18 36 views
7

Tôi đang chạy Selenium RC với PHP. tôi chạy một kiểm tra đăng nhập đơn giản, đó là thành công, nhưng ngay trước khi đóng trình duyệt, tôi nhận được lỗi sau:Selenium + PHPUnit: sessionId không được rỗng; đã bắt đầu phiên này chưa?

23:50:09.969 INFO - Command request: testComplete[, ] on session d7a1effeabc24b0b9b46ad6fdb3eebec 23:50:09.969 INFO - Killing Google Chrome... 23:50:10.286 INFO - Got result: OK on session d7a1effeabc24b0b9b46ad6fdb3eebec 23:50:10.349 INFO - Command request: getLocation[, ] on session null 23:50:10.351 ERROR - Exception running 'getLocation 'command on session null java.lang.NullPointerException: sessionId should not be null; has this session been started yet? at org.openqa.selenium.server.FrameGroupCommandQueueSet.getQueueSet(FrameGroupCommandQueueSet.java:216) at org.openqa.selenium.server.commands.SeleniumCoreCommand.execute(SeleniumCoreCommand.java:34) at org.openqa.selenium.server.SeleniumDriverResourceHandler.doCommand(SeleniumDriverResourceHandler.java:562) at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleCommandRequest(SeleniumDriverResourceHandler.java:370) at org.openqa.selenium.server.SeleniumDriverResourceHandler.handle(SeleniumDriverResourceHandler.java:129) at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1530) at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1482) at org.openqa.jetty.http.HttpServer.service(HttpServer.java:909) at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820) at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986) at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837) at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:245) at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357) at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534) 23:50:10.364 INFO - Got result: ERROR Server Exception: sessionId should not be null; has this session been started yet? on session null

tôi không thể tìm thấy một giải pháp ... Xin vui lòng giúp.

+0

Hình như bạn giết Google Chrome ngay trước getLocation(). Có lẽ chắc chắn rằng cuộc gọi getLocation() là trước khi testComplete(). – yonran

+1

Cảm ơn. Dường như việc thêm stop() trong tearDown làm cho nó thất bại. – Shimix

+0

@yonran - Bạn nên đặt câu trả lời đó như một câu trả lời. @Shimix, bạn nên chấp nhận câu trả lời của mình. –

Trả lời

0

Sự cố là cuộc gọi stop() trong vòng tearDown(). Việc xóa nó đã khắc phục được sự cố.

0

Thêm những dòng này trong setUp() giúp:

$this->start(); 
sleep(1); 
Các vấn đề liên quan