Не могу проверить селен в фитнесе

Я учусь использовать фитнес. Я пытаюсь написать демо, используя fitnesse, взаимодействовать со страницей Google Selen Connect, но это не работает.

My Java's code: 
{
package com.demo;

import com.thoughtworks.selenium.DefaultSelenium;

@SuppressWarnings("deprecation")
public class HelloGooglePage {

    DefaultSelenium selenium;

    public HelloGooglePage(String host, int port, String browser, String baseURL) {
        this.selenium = new DefaultSelenium(host, port, browser, baseURL);
        System.out.println("hELLO");
        this.selenium.start();
    }

    public boolean open(String URL) {
        this.selenium.open(URL);
        return true;
    }

    public boolean type(String locator, String value) {
        boolean elementFound = this.selenium.isElementPresent(locator);
        if (elementFound) {
            this.selenium.click(locator);
        }
        return elementFound;
    }

    public boolean close() {
        this.selenium.close();
        return true;
    }

    public boolean stop() {
        this.selenium.stop();
        return true;
    }

Код моего фитнеса: Фитнес

ошибка

3 ответа

Решение

Java-код: {

private WebDriver driver;
private WebElement element;

private String URL;
private String elementName;
private String key;

public HelloGooglePage(String URL, String elementName, String key) {
    this.setURL(URL);
    this.setElementName(elementName);
    this.setKey(key);

    File file = new File("C:/Selenium/IEDriverServer.exe");
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
    driver = new InternetExplorerDriver();
}

public void open(String URL) {
    driver.get(URL);
}

public void findElement(String elementName){
    element = driver.findElement(By.name(elementName));
}

public void sendKeys(String key){
    element.sendKeys(key);
}

@Test
public void submit(){
    element.submit();
    Assert.assertEquals("cheese - Google Search", driver.getTitle());
    driver.close();
}

public String getURL() {
    return URL;
}

public void setURL(String uRL) {
    URL = uRL;
}

public String getKey() {
    return key;
}

public void setKey(String key) {
    this.key = key;
}

public String getElementName() {
    return elementName;
}

public void setElementName(String elementName) {
    this.elementName = elementName;
}

Сценарий фитнеса:

! define COMMAND_PATTERN {"C: \ Program Files \ Java \ jdk1.7.0_55 \ bin \ java" -cp% p% m}

! path path / fitlibrary-20080812.jar

! path path / fitnesse-20151230.jar

! path path / junit-4.10.jar

! path path / selenium-ie-driver-2.53.0.jar

! path path / selenium-java-2.53.0.jar

! path path / selenium-server-standalone-2.53.0.jar

! путь цель / классы

! define TEST_SYSTEM {slim}

! | импорт | | Com.demo |

! define BrowserType1 {* iexplore}

! | script | HelloGooglePage | Http://www.google.com| д | сыр |

| открыть | www.google.com |

| findElement | q |

| sendKeys | сыр |

| отправить |

Когда вы звоните !|HelloGooglePage|, он попытается найти в вашем приборе конструктор без параметров, и ему не удалось его получить, поэтому Fitnesse преобразует таблицу в таблицу решений и вместо этого ищет сценарий с именем "HelloGooglePage". В этом случае обратитесь к его ответу.

Тем не менее, из вашего тестового кода кажется, что вы пытаетесь вызвать конструктор в приборе и выполнить команду одну за другой, а не стиль таблицы решений.

В этом случае вы можете просто

  1. удалить строку 14
  2. добавлять '!' перед линией 15

Я думаю, что если вы скажете просто

 |HelloGooglePage|

Ничего, кроме сценария, и вам нужно определить его, как показано ниже

|scenario|HelloGooglePage|

Так, что когда-либо использовал | HelloGooglePage| Вызов вышеупомянутого сценария и шаги по этому сценарию будут выполнены. Согласно скриншоту, непосредственно используется | HelloGooglePage| но сценарий не определен где-либо.

для более подробного объяснения, пожалуйста, посмотрите на это

А также вот основной пример

Спасибо, Мурали

Другие вопросы по тегам