Как поместить динамический ввод, такой как отметка времени, при использовании плагина селена в Firefox? - PullRequest
1 голос
/ 04 августа 2010

Я использую селен.Я использую его с помощью плагина Firefox.но у меня есть проблема, чтобы использовать это.Например, мне нужно сделать 100 постов (мне нужно, чтобы они имели другой заголовок, в диапазоне от 1 до 100) без необходимости копировать-вставить предыдущую команду и изменить значение ее свойства

описание слишком расплывчатоВ двух словах, речь идет о том, как создавать юниты, когда ввод динамический.Возможно ли использовать плагин селена?

1 Ответ

4 голосов
/ 04 августа 2010

Вам нужно будет экспортировать тестовый пример Selenium из IDE на выбранный вами язык программирования, а затем настроить его.

Рассмотрим этот пример теста Selenese - он переупорядочен в Selenium IDE, он переходит на какой-то форум, нажимает кнопку «Новое сообщение», вводит заголовок как «Заголовок 50» и затем нажимает кнопку «Отправить»:

open | /viewforum.php?f=19 | |  
clickAndWait | btnNewPost | |   
type | subject | Title 50 |  
clickAndWait | btnPost | |

После этого вы экспортируете этот тест как Java JUnit (например) и получите следующий код:

package com.example.tests;

import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;

public class PostTest extends SeleneseTestCase {
    public void setUp() throws Exception {
        setUp("http://www.forum.com/", "*chrome");
    }
    public void testCreatePost() throws Exception {
        selenium.open("/viewforum.php?f=19");
        selenium.click("btnNewPost");
        selenium.waitForPageToLoad("30000");
        selenium.type("subject", "Title 50");
        selenium.click("btnPost");
        selenium.waitForPageToLoad("30000");
    }
}

Итак, вам нужно добавить цикл, который будет создавать посты с заголовками «Заголовок 001» и «Заголовок 100»:

public void testCreatePost() throws Exception {
    for (int i=1; i<=100; i++) {
        selenium.open("/viewforum.php?f=19");
        selenium.click("btnNewPost");
        selenium.waitForPageToLoad("30000");
        selenium.type("subject", String.format("Title %03d", i));
        selenium.click("btnPost");
        selenium.waitForPageToLoad("30000");
    }
}

Вам потребуется Selenium RC для запуска этих тестов - пожалуйста, обратитесь к документации Selenium

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