不能在健身中测试Selenium



我正在学习如何使用fitnesse。我试图写一个使用fitnesse与selenium交互的演示连接谷歌的页面,但它不起作用。

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

错误

我认为如果你简单地说

 |HelloGooglePage|

什么都没有,但这是一个场景,你需要像下面的一样定义它

|scenario|HelloGooglePage|

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

更多的解释请看这个

这里还有的基本例子

谢谢,Murali

当你调用!|HelloGooglePage|时,它会试图在你的fixture中找到一个没有参数的构造函数,但它没有得到,所以Fitnesse将该表转换为决策表,并寻找名为"HelloGooglePage"的场景。在这种情况下,请参阅他的回答。

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

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

  1. 删除线路14
  2. 添加"!"在15号线前面

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}

路径路径/fitlibrary-20080812.jar

路径路径/fitnesse-20151230.jar

路径路径/junit-4.10.jar

路径/硒离子驱动-2.53.0.jar

路径路径/selenium-java-2.53.0.jar

路径路径/硒服务器-标准-2.53.0.jar

路径目标/类别

定义TEstrongYSTEM{slim}

|进口||com.demo|

定义浏览器类型1{*iexplore}

|script|HelloGooglePage|http://www.google.com|q |奶酪|

|打开|www.google.com|

|findElement|q|

|sendKeys|cheese|

|提交|

最新更新