Java Can';t检验fitnesse中的硒

Java Can';t检验fitnesse中的硒,java,selenium,fitnesse,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 se

我正在学习如何使用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代码:


我想如果你简单地说

 |HelloGooglePage|
这只是一个场景,您需要像下面这样定义它

|scenario|HelloGooglePage|
因此,当使用上述场景时,将调用| hellogoglepage |并执行该场景下的步骤。根据屏幕截图,直接使用| hellogoglepage |但未在任何地方定义场景

欲了解更多解释,请参阅

这也是一个基本的例子

谢谢,,
穆拉里

我想如果你简单地说

 |HelloGooglePage|
这只是一个场景,您需要像下面这样定义它

|scenario|HelloGooglePage|
因此,当使用上述场景时,将调用| hellogoglepage |并执行该场景下的步骤。根据屏幕截图,直接使用| hellogoglepage |但未在任何地方定义场景

欲了解更多解释,请参阅

这也是一个基本的例子

谢谢,,
穆拉里

当你呼叫
时|HelloLoglePage |
,它将尝试在您的fixture中查找不带参数的构造函数,但未能获取该构造函数,因此Fitnesse将该表转换为决策表,并查找名为“HelloLoglePage”的场景。在这种情况下,请参考他的答案

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

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

  • 拆下管路14
  • 加上“!”在15号线前面

  • 当您调用
    时|HelloLoglePage |
    ,它将尝试在您的fixture中查找不带参数的构造函数,但未能获取该构造函数,因此Fitnesse将该表转换为决策表,并查找名为“HelloLoglePage”的场景。在这种情况下,请参考他的答案

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

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

  • 拆下管路14
  • 加上“!”在15号线前面
  • Java代码: {

    Fitnesse脚本:

    !define命令\u模式{“C:\Program Files\Java\jdk1.7.0\u 55\bin\Java”-cp%p%m}

    !path/fitbrary-20080812.jar

    !路径/fitnesse-20151230.jar

    !path/junit-4.10.jar

    !路径/selenium-ie-driver-2.53.0.jar

    !path/selenium-java-2.53.0.jar

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

    !路径目标/类

    !定义测试系统{slim}

    !|进口| |com.demo|

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

    !|脚本| Hello日志页面|

    |打开| www.google.com|

    |findElement | q|

    |sendKeys |奶酪|

    |提交|

    Java代码: {

    Fitnesse脚本:

    !define命令\u模式{“C:\Program Files\Java\jdk1.7.0\u 55\bin\Java”-cp%p%m}

    !path/fitbrary-20080812.jar

    !路径/fitnesse-20151230.jar

    !path/junit-4.10.jar

    !路径/selenium-ie-driver-2.53.0.jar

    !path/selenium-java-2.53.0.jar

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

    !路径目标/类

    !定义测试系统{slim}

    !|进口| |com.demo|

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

    !|脚本| Hello日志页面|

    |打开| www.google.com|

    |findElement | q|

    |sendKeys |奶酪|


    |提交|

    如果您将代码粘贴到问题本身中,并使用代码块而不是屏幕截图对其进行格式化,则会更有帮助。如果您将代码粘贴到问题本身中,并使用代码块而不是屏幕截图对其进行格式化,则会更有帮助。谢谢Xiawei Zhang.我尝试过,但它不起作用。出现新错误java.lang.NoClassDefFoundError:com/thoughtworks/selenium/DefaultSelenium(我会调查)@hienvu使用!路径将依赖项jar添加到测试中。谢谢Xiawei Zhang。我尝试过,但它不起作用。出现新错误java.lang.NoClassDefFoundError:com/thoughtworks/selenium/DefaultSelenium(我会调查)@hienvu use!path将您的依赖项jar添加到测试中。谢谢Murali。我在您给我的“更多解释请看这个”链接上找到了答案。非常感谢Murali。我在“更多解释请看这个”链接上找到了答案。非常感谢