不能在fitnesse中测试硒

时间:2016-04-19 10:48:27

标签: java selenium fitnesse

我正在学习如何使用fitnesse。我尝试使用fitnesse与selenium connect google的页面进行交互编写演示,但它无法正常工作。

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;
    }

我的fitnesse代码:Fitnesse

Error

3 个答案:

答案 0 :(得分:0)

我想如果你只是说

 |HelloGooglePage|

除了它是场景之外什么都没有,你需要像下面那样定义它

|scenario|HelloGooglePage|

所以当使用时| HelloGooglePage |调用上面的场景,并执行该场景下的步骤。截图,直接使用| HelloGooglePage |但没有定义任何地方。

有关详细说明,请查看this

here也是基本的例子

谢谢你, 穆拉利

答案 1 :(得分:0)

当你打电话给!|HelloGooglePage|时,它会尝试在你的灯具中找到一个没有参数的构造函数,而且它没能得到它,所以Fitnesse将表转换成决策表并查找名为&#34的场景; HelloGooglePage"代替。在这种情况下,请参考他的回答。

但是,从您的测试代码中,您似乎要做的是调用fixture中的构造函数并逐个执行命令,而不是决策表样式。

在这种情况下,你可以简单地

  1. 删除第14行
  2. 添加'!'在第15行前面

答案 2 :(得分:0)

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;
}

Fitnesse脚本:

!定义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

!路径目标/类

!定义TEST_SYSTEM {slim}

!| import | | com.demo |

!定义BrowserType1 {* iexplore}

!| script | HelloGooglePage | http://www.google.com|q|cheese|

| open | www.google.com |

| findElement | q |

| sendKeys | cheese |

|提交|