2012-07-19 4 views
0

가 나는 요소를 발견하고 그들을 운전Waitforpagetoload error? 내 셀레늄 webdriver 코드에서

내가 driver.waitforpagetoload();를 사용하여 시도 (사용자 이름과 암호에 텍스트를 입력) 시작하기 전에이로드 될 때까지 기다립니다 내 페이지를 얻으려고하지만,이 오류를 반환

Error 1 'OpenQA.Selenium.IWebDriver' does not contain a definition for 'waitforpagetoload' and no extension method 'waitforpagetoload' accepting a first argument of type 'OpenQA.Selenium.IWebDriver' could be found (are you missing a using directive or an assembly reference?) 

어떤 유형의 참조를 추가해야합니까? webdriver가 waitForPageToLoad 기능을 갖고 있지 않기 때문에

(C#의 코딩)

답변

-1

오류이다.

페이지가 완전히로드 될 때까지 모든 작업 후에 자동으로 차단되므로 webdriver가 필요하지 않습니다. 자세한 내용은 여기를 참조하십시오. WebDriver FAQ

그러나 WebDriverWait을 사용하여 페이지에 요소가 나타날 때까지 기다리는 것처럼 맞춤 대기 시간을 가질 수 있습니다.

0

Thread.Sleep(# of milliseconds)을 사용하면 다음 요소로 넘어 가기 전에 페이지를로드하는 것이 도움이된다는 것을 발견했습니다.

예 :

using System; 

namespace SeleniumTests 
{ 
    [TestFixture] 
    public class FireFoxTests 
    { 

     [Test] 
     public void SomeTest() 
     { 
      some code; 
      Thread.Sleep(2000); 
      more code; 
     } 

    } 
} 
+0

하드 코딩 잠은 자동화 된 테스트에서 나쁜 일이다. 로드하는 페이지 수에 따라 대기 시간이 낭비 될 수 있습니다. 엘리먼트가 존재할 때까지 기다리는 것은 테스트가 필요한 엘리먼트가 로딩 될 때까지 기다리는 것을 보장하기 때문에 훨씬 더 좋은 방법이다. – CIGuy

+0

좋은 지적 @CIGuy – TheLifeOfSteve

관련 문제