Исключение Selenium Webdriver: waitForPageToLoad не является допустимой командой веб-драйвера? - PullRequest
1 голос
/ 19 марта 2012

Я новичок в тестировании селена и пытаюсь запустить мой первый тест с использованием phpunit и selenium server 2.

Я все настроил, используя одно из онлайновых руководств по автоматическому тестированию, исейчас я пытаюсь использовать Firefox Selenium IDE для записи процесса регистрации на нашем веб-сайте.

Я установил форматер php для IDE и экспортировал записанные команды для PHPUnit, но когда язапустить код через PHPUnit я получаю:

Исключение: waitForPageToLoad не является допустимой командой веб-драйвера.

Любая помощь будет высоко ценится!

Большое спасибо, Ян

<?php
require_once __DIR__ . '/../../../lib/php-webdriver/__init__.php';

class HomePageTest extends PHPUnit_Framework_TestCase
{
    /** 
    * @var WebDriverSession
    */
    protected $_session;

    public function setUp()
    {
        parent::setUp();
        $web_driver = new WebDriver();
        $this->_session = $web_driver->session();
    }

    public function tearDown()
    {
        $this->_session->close();
        unset($this->_session);
        parent::tearDown();
    }

    public function test_free_signup_process()
    {
        $this->_session->open('http://---.com');
        $this->_session->click("link=View Pricing");
        $this->_session->waitForPageToLoad("30000");
        $this->_session->click("link=Free Account");
        $this->_session->waitForPageToLoad("30000");
        $this->_session->type("id=first_name", "---");
        $this->_session->type("id=last_name", "---");
        $this->_session->type("id=password_tf", "---");
        $this->_session->type("id=password_confirm", "---");
        $this->_session->type("id=recaptcha_response_field", "tsTooki status:");
        $this->_session->click("id=checkbox_terms");
        $this->_session->click("css=input[type=\"submit\"]");
        $this->_session->waitForPageToLoad("30000");
        $this->_session->click("link=registration code");
        $this->_session->waitForPageToLoad("30000");
        $this->_session->type("id=code", "---");
        $this->_session->click("css=input[type=\"submit\"]");
        $this->_session->waitForPageToLoad("30000");

    }
}

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

Вы можете использовать класс WebDriverWait, чтобы делать то, что вы хотите.waitForPageToLoad() доступно только для версии Selenium 1 .

Здесь вы можете найти исходный код WebDriverWait класса .

ИзКонечно, функция до является самой важной частью.

1 голос
/ 15 ноября 2012

Документация по API Selenium 2.0 действительно полезна для просмотра доступных методов. http://selenium.googlecode.com/svn/trunk/docs/api/py/api.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...